我有一个以下形式的 XML
<H1>h1</H1>
<H2>h2</H2>
<H3>
<H4>h4-1</H4>
<H5>
<H6>h6-11</H6>
<H7>h7-11</H7>
</H5>
<H5>
<H6>h6-12</H6>
<H7>h7-12</H7>
</H5>
</H4>
<H4>h4-2</H4>
<H5>
<H6>h6-21</H6>
<H7>h7-21</H7>
</H5>
<H5>
<H6>h6-22</H6>
<H7>h7-22</H7>
</H5>
</H4>
</H3>
我想获取 H7 之前的所有路径,即
h1,h2,h4-1,h6-11,h7-11
h1,h2,h4-1,h6-12,h7-12
h1,h2,h4-2,h6-21,h2-21
h1,h2,h4-2,h6-22,h7-22
如何在 Java 中使用 XPath 来做到这一点?我知道当每个节点都有一个子节点但无法弄清楚多个子节点时该怎么做。
最佳答案
XPath 只能帮助您识别输入文件中的文本之一。例如:
/H3/H4[2]/H5[1]/H6[2]/text()
将引用文本“h7-21”
要迭代事物,您需要的不仅仅是 XPath。例如 XSLT 或 Java 代码。
关于java - 当有多个子节点时如何一一获取XPath路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40859184/