Javascript XPath获取下一项
我刚开始使用XPATH,我对它的功能/它是否能做我想做的事情有一些疑问。我的XML文档中有以下结构:Javascript XPath获取下一项,javascript,xml,node.js,xpath,Javascript,Xml,Node.js,Xpath,我刚开始使用XPATH,我对它的功能/它是否能做我想做的事情有一些疑问。我的XML文档中有以下结构: <root> <top id="1"> <item id="1"> <sub id="A"></sub> <sub id="B"></sub> <item> <item id="2"> <sub id="A">
<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>
使用XPath查询,我希望能够选择下一个子项,而不管它在文档中的什么位置,如果下一个子项与CurrentItem不在同一项中,我也需要获得该信息。上衣也是一样
我正在使用Javascript。我知道这可能需要在多个查询中完成
例如:
接下来的项目将是(按顺序):
我也愿意接受关于如何改进XML文档格式的建议
如果有帮助的话,我还将使用NPM上可用的NodeJS、XPath模块和XMLDOM模块
谢谢,我不知道node.js,但是在XPath中,无论目标元素是否在同一父元素中,都可以使用axis在当前上下文元素之后获取元素。例如,要获取当前上下文元素后面最近的
子元素,可以使用以下表达式:
following::sub[1]
与axis不同,axis只能在同一父元素中的当前上下文元素之后找到元素
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
following::sub[1]