Java - 用于子节点的dom4j XPath

Mr.*_*Mr. 3 java xml sax dom4j xml-parsing

我使用[dom4j]1[XPath]2来遍历XML.

假设我手头有一个Node子节点,每个子节点都有相同的标签名称.例如(参考b节点):

<a>
    <b>...</b>
    <b>...</b>
</a>
Run Code Online (Sandbox Code Playgroud)

我尝试使用selectNodes("//b")但它返回文档中其开放标记所在的所有节点b.

如何仅遍历特定节点的子节点,其中所有子节点具有相同的标记名称(例如b).

Tom*_*lak 6

selectNodes(".//b") 
//-----------^
Run Code Online (Sandbox Code Playgroud)

.是XPath中的当前节点.

请注意,这//是简称/descendant-or-self::node()/.这意味着它还将选择嵌套节点.

你说的是孩子,这不是一回事.对于子节点使用:

selectNodes("./b") 
Run Code Online (Sandbox Code Playgroud)