我有以下形式的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/

10-11 15:45