如何在不选择子节点中的文本的情况下检索节点中的文本?
<div id="comment">
<div class="title">Editor's Description</div>
<div class="changed">Last updated: </div>
<br class="clear">
Lorem ipsum dolor sit amet.
</div>
换句话说,我想要Lorem ipsum dolor sit amet.
而不是Editor's DescriptionLast updated: Lorem ipsum dolor sit amet.
在提供的XML文档中:
<div id="comment">
<div class="title">Editor's Description</div>
<div class="changed">Last updated: </div>
<br class="clear">
Lorem ipsum dolor sit amet.
</div>
顶部元素/div
有4个子节点,它们是文本节点。这四个text-node
孩子中的前三个是whitespace-only
。这4个text-node
孩子中的最后一个是被通缉的孩子。
使用:
/div/text()[last()]
这不同于:
/div/text()
后者可能(取决于XML解析器是否保留whitespace-only
节点)选择所有4个文本节点,但您只需要最后一个。
另一种选择是(当你不确切知道你想要哪个text-node
时):
/div/text()[normalize-space()]
这将选择不是text-node-children
文本节点的/div
的所有whitespace-only
。
只需选择text()
而不是.
:
div/text()
在给定的XML片段上,它返回:
Lorem ipsum dolor sit amet.
这个怎么样 :
$doc/node()[3]/text()
假设$ doc有xml。