javascript - 在 Javascript 中解析 xml 并遍历子节点

标签 javascript xml xml-parsing

我需要用 javascript 解析下面的 xml。

<Department id='1' name='Admins'>
    <Floor Id='5' Name='WingA'>
        <Employee Id='35' Name='John Smith' SysId='120' FileId='135' />
        <Employee Id='124' Name='John Doe'  SysId='214' FileId='125' />
        <Employee Id='79' Name='Lorem Ipsum' SysId='185' FileId='194' />
    </Floor>
</Department>

我需要的是循环遍历所有员工,直到满足给定条件(例如,获取 SysId=214 的员工节点的 FileId)。我能够获取 Floor 节点,但不确定如何迭代子节点并匹配条件? childNodes[0].nodeValue 似乎不起作用

parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlstr, "text/xml");

 floor = xmlDoc.getElementsByTagName("Floor");
      for (i = 0; i < floor.length; i++) {
 floor[i].childNodes[0].nodeValue
}

最佳答案

尝试这样的事情:

for (var i = 0; i < floor.length; i++) {
  for (var j = 0; j < floor[i].childNodes.length; j++) {
    var el = floor[i].childNodes[j];
    console.log(el.attributes[2].nodeValue);
  }
} 

测试 fiddle :https://jsfiddle.net/1r2ydxhu/

关于javascript - 在 Javascript 中解析 xml 并遍历子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30751036/

相关文章:

Javascript:替换 a 但不是 ab 中的 a

java - 如何使用Java提取XML文档中2个兄弟节点之间的内容

javascript - 将 jQuery 代码添加到 WordPress

javascript - mongoose findOneAndUpdate 仅附加对象

c# - 可以使用 XmlAttributes 有选择地 XmlIgnore 吗?

android - Android XML 中的 TextColor 不起作用?

java - 使用 SimpleXml 和 Retrofit 的 Android RSS 阅读器 - 媒体 :thumbnail parse issue

java - 有没有一种声明式的方法可以将 XML 解析为 Java 对象?

javascript - Ember : Log model data in template from a nested route

java - xpath 在一次调用中解析多个值