我想找到每个元素的id,但我“每个”都不起作用(每个都没有metode ...) 如何返回每个元素的ID?
var libxmljs = require("libxmljs");
var xml = ('/SomePath/filexmlxml');
var xmlDoc2 = libxmljs.parseXmlString(xmlStr);
fs.readFile(__dirname + '/filexml.xml', function (err, data) {
var xmlStr = data.toString();
var id = xmlDoc2.get('Objects').get('Object').attr('id').value(); // It works and get the first element id = 'Title 1'
xmlDoc2.get('Objects').get('Object').each(function () {
var whatid = xmlDoc2.get('Objects').get('Object').attr('id').value();
console.log('wasd: ' + whatid); // Doesnt work - because of each.
})
console.log('idss: ' + id); here I can see the only first's element's ID.
答案 0 :(得分:0)
xmlDoc2.get('Objects')将返回Node个对象。它没有每种方法。您可以使用prevSibling,nextSibling方法遍历节点的兄弟节点。
或者更好地在元素上使用childNodes。
var children = xmlDoc2.get('Objects').childNodes();
children.forEach(function (child) {
var whatid = child.get('Object').attr('id').value();
console.log('wasd: ' + whatid);
});