Node JS查找所有元素的attr

时间:2014-10-02 08:11:15

标签: javascript jquery node.js

我想找到每个元素的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.

1 个答案:

答案 0 :(得分:0)

xmlDoc2.get('Objects')将返回Node个对象。它没有每种方法。您可以使用prevSiblingnextSibling方法遍历节点的兄弟节点。

或者更好地在元素上使用childNodes

var children = xmlDoc2.get('Objects').childNodes();

children.forEach(function (child) {
  var whatid = child.get('Object').attr('id').value();
  console.log('wasd: ' + whatid);
});