2
我想弄清楚如何从xml
文件获取值并将该值输出到控制台。无法从函数获得输出
const path = require('path');
const fs = require('fs');
const parseString = require('xml2js').parseString;
const sourceFile = path.join(__dirname, 'books.xml');
const document = (sourceFile, callback) => {
fs.readFile(sourceFile, { encoding: 'utf-8' }, function (err, data) {
if (err) {
return err;
}
parseString(data, (err, result) => {
result.catalog.book.forEach(users => {
callback(users.email);
});
});
});
};
console.log(document(sourceFile, data => data));
XML本身是很简单的:
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<email>[email protected]</email>
</book>
</catalog>
但是我从功能上得到的是undefined
。为什么会发生?
更新: 我想送返回值nodemailer
transporter.sendMail({ from: '[email protected]', to: document(sourceFile, (data) => data), subject: 'Message', text: 'I hope this message gets sent!', }, (err, info) => { if (err) { console.log('error!'); console.log(err.message); } else { console.log('sucess!'); console.log(info.messageId); console.log(info.response); }
,但我得到一个错误: “缺少必需的头‘要’。”
我想送返回值nodemailer 'transporter.sendMail({ 从: '[email protected]', 于:文件(的资源文件,(数据)=>数据), 主题: '消息', 文本:'我希望这封邮件得到发送!',( },(err,info)=> { if(err){console.log('error!'); console.log(err.message); } else { console.log('sucess!'); console.log(info.messageId); console.log(info.response); } ' 但这是错误我geting intead: '缺少必需的标题'到'。' –
@KarolisArbačiauskas,请为这个问题添加一个相同的更新,将更新我的答案。所以问题答案保持同步。 –
@KarolisArbačiauskas我已添加更新补丁来回答。 –