gpt4 book ai didi

javascript - XPath 获取下一个项目

转载 作者:太空宇宙 更新时间:2023-11-04 00:53:09 24 4
gpt4 key购买 nike

我刚刚开始使用 XPATH,我对它的功能/是否可以做我想做的事情有一些疑问。我的 XML 文档中有以下结构:

<root>
<top id="1">
<item id="1">
<sub id="A"></sub>
<sub id="B"></sub>
<item>
<item id="2">
<sub id="A"></sub>
<sub id="B"></sub>
<item>
</top>
<top id="2">
<item id="1">
<sub id="A"></sub>
<sub id="B"></sub>
<item>
<item id="2">
<sub id="A"></sub>
<sub id="B"></sub>
<sub id="C"></sub>
<item>
</top>
</root>

我将 CurrentTop、CurrentItem 和 CurrentSub 存储在变量中。

var CurrentTop = "1", CurrentItem = "1", CurrentSub = "A";

使用 XPath 查询,我希望能够选择下一个 Sub,无论它在文档中的位置如何,并且如果下一个 Sub 与 CurrentItem 不在同一 Item 中,我也需要获取该信息。顶部也是如此

我正在使用 JavaScript。我知道这可能需要在多个查询中完成。

例如:下一个项目将是(按顺序):

TOP ITEM SUB

1 1 A
1 1 B
1 2 A
1 2 B
2 1 A
2 1 B
2 2 A
2 2 B
2 2 C

我也愿意接受有关如何改进 XML 文档格式的建议。

如果有帮助的话,我还使用 NPM 上提供的 NodeJS、XPath 模块和 XMLDOM 模块。

谢谢

最佳答案

我不知道node.js,但在XPath中你可以使用following axis 获取当前上下文元素之后的元素,无论目标元素是否位于同一父元素中。例如,要获取当前上下文元素之后最近的 sub 元素,您可以使用以下表达式:

following::sub[1] 

following-sibling对比axis 只能找到同一父级中当前上下文元素之后的元素。

关于javascript - XPath 获取下一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com