javascript - 如何在 javascript DOM api 中获取具有给定条件的子节点?

标签 javascript xml dom xpath

xml文件是这样的:

<products>
  <product>
   <id>1</id>
   <name>pen</name>
  </product>
  <product>
   <id>2</id>
   <name>pencil</name>
  </product>
</products>
<employees>
  <employee>
   <name>Jack</name>
  <employee>
  <employee>
   <name>Mark</name>
  <employee>
</employees>

我只能得到<name>吗? <product> 的子节点?有没有很好的适配xpath javascript dom 中的 api?

最佳答案

在现代浏览器中,您可以使用 querySelector 遍历 xml 树。假设您的 xml 位于 div#xmlsample 中,那么此代码将为您提供 prodNames 中的 //product/name 的节点列表:

var xmlDoc = (new DOMParser())
              .parseFromString(document.querySelector('#xmlsample').innerHTML,
              "application/xml"),
    prodNames = xmlDoc.querySelectorAll('product name');

参见 this jsfiddle

关于javascript - 如何在 javascript DOM api 中获取具有给定条件的子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12032562/

相关文章:

javascript - 如何与 WebSharper 交互和设置 DOM 属性?

xml - 在 XML 中前缀等于命名空间还是属于命名空间?

c# - 如何使用包含相同元素/类的 different.xsd 命名空间?

javascript - 我如何处理打开多个模式 Bootstrap 窗口

javascript - D3.js 鼠标悬停事件也应该到达圆圈的内部区域

xml - 如何在 bash 脚本中将一个包含 '< >' 的文件附加到另一个文件

python - 如何使用 python 以编程方式测量 HTML 源代码中元素的大小?

javascript - 从(扩展)一个 HTML 元素进行子类化?

javascript - 将脚本变量从 HTML 传递到 PHP

javascript - 诗乃与 Mocha : How to await for a promised to be resolved before assertion in test function?