具有以下 XML:
<node>Text1<subnode/>text2</node>
如何通过 XPath 选择第一个或第二个文本节点?
像这样:
/node/text()[2]
当然不行,因为它是节点内所有文本的合并结果。
最佳答案
Having the following XML:
<node>Text1<subnode/>text2</node>
How do I select either the first or the second text node via XPath?
使用:
/node/text()
这会选择 XML 文档顶部元素(名为“节点”)的所有文本节点子元素。
/node/text()[1]
这将选择 XML 文档顶部元素(名为“节点”)的第一个文本节点子节点。
/node/text()[2]
这将选择 XML 文档顶部元素(名为“节点”)的第二个文本节点子元素。
/node/text()[someInteger]
这将选择 XML 文档的顶部元素(名为“节点”)的第 someInteger-th 文本节点子节点。它等效于以下 XPath 表达式:
/node/text()[position() = someInteger]
关于xml - XPath:选择文本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033955/