【发布时间】:2021-04-19 15:38:09
【问题描述】:
我正在使用我找到的这个 xml 文件:https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms762271(v=vs.85)
我正在尝试检索作者的价值。所以用这段代码:
var val = xpath.select('/catalog/book[1]/author', root);
我希望它会返回:Gambardella, Matthew。但相反,它编写了一个包含 NodeName、tagName、docType、length、firsChild 等的数组。
如果我这样做:
val.forEach(function(n) {
console.log("Each n: "+n);
});
我得到:Each n: <author>Gambardella, Matthew</author>
所以我的问题是,我如何获得属性值?我也试过val.getAttribue()
这是完整的代码:
var fs = require('fs');
var xmlDom = require('xmldom');
var xpath = require('xpath');
fs.readFile('books.xml', 'utf8', function (err, data) {
if (err) {
return console.log(err);
}
var parser = new xmlDom.DOMParser();
var serializer = new xmlDom.XMLSerializer();
var root = parser.parseFromString(data, 'text/xml');
var val = xpath.select('/catalog/book[1]/author', root);
val.forEach(function(n) {
console.log("Each n: "+n);
});
});
【问题讨论】: