XPath获取下一个项目
我刚开始使用XPATH,而且我有一些关于它的function的问题/它是否可以做我想做的事情。 我在我的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>
我有存储在一个variables中的CurrentTop,CurrentItem和CurrentSub。
var CurrentTop = "1", CurrentItem = "1", CurrentSub = "A";
使用XPath查询,我希望能够select下一个Sub,不pipe它在文档中的位置,如果下一个Sub与CurrentItem不在同一个Item中,我也需要获取这些信息。 Top也一样
我正在使用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文档格式的build议。
如果有帮助,我也使用NodeJS,XPath模块和NPM上提供的XMLDOM模块。
谢谢
我不知道node.js,但在XPath中,您可以使用following
轴来获取当前上下文元素之后的元素,而不pipe目标元素是否在同一个父元素中。 例如,要获取当前上下文元素之后的最近的sub
元素,可以使用以下expression式:
following::sub[1]
following-sibling
轴的对比,只能find同一父级中的当前上下文元素之后的元素。
- 检索io.socket中的所有套接字对象
- 在JavaScript中存储/读取大型matrix的最佳方法是什么?
- $和sub $,而不会产生mongo和mongoose的预期结果
- 量angular器debugging模式给出“致命错误:CALL_AND_RETRY_LAST分配失败 – 进程内存不足”
- 我应该在ES6节点项目中使用多less承诺?
- Selenium Webdriver(node.js)截图并保存testing结果
- 电子 – 如何将base64 dataUrl保存到文件
- 如何在node.js中同步读取文件或stream?
- 如何parsing使用JavaScript,doc的doc / docx文件