JavaScript 和 XPath : not loading all matches of tag

标签 javascript xpath

我正在创建一个 XML 模板,然后加载到我的 JS 代码中。我在加载标签的所有实例时遇到问题。在此示例中,<section> :

let xmltemplate = `<?xml version="1.0" encoding="UTF-8" ?>
<sheet>
    <meta>
    <version>0</version>
    <author></author>
    <contact></contact>
    <notes></notes>
    <released></released>
    <updated></updated>
    </meta>
    <section name="section 1"></section>
    <section name="section 2"></section>
</sheet>`;


var xmlDoc = (new DOMParser).parseFromString(xmltemplate, 'text/xml');
let nodes = xmlDoc.evaluate("//section", xmlDoc, null, XPathResult.ANY_TYPE, null);
var result = nodes,iterateNext();
console.log(result);

控制台仅显示第一部分,而不是两者:

<section name="section 1"/>

我在这里缺少什么?

谢谢!

最佳答案

您需要在 while 循环中进行迭代:

var node = null;
while ( node = nodes.iterateNext()) {
  console.log(node)
}

关于JavaScript 和 XPath : not loading all matches of tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59229333/

相关文章:

javascript - 使用 Angular-translate 进行参数格式化

c# - 如何找到 XML 文件中属性值的最大值?

javascript - 请更正这个 xpath 表达式

python - 访问下一个同级的文本

java - XJB [错误] 为目标命名空间定义了多个 <schemaBindings>

java - 如何在 selenium Web 驱动程序中获取跨度类值的属性

javascript - Twitter Bootstrap 选项卡式表单

javascript - 扩展程序在上传到 chrome 应用商店后不会在新选项卡中打开多个链接

javascript - 在 Rails 应用程序中对 Javascript 繁重的 UI 进行集成测试的最佳方法是什么?

javascript - Angularjs - $http 成功与那时