如何在不选择子节点中的文本的情况下检索节点中的文本?
<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>
Run Code Online (Sandbox Code Playgroud)
换句话说,我想要Lorem ipsum dolor sit amet.
而不是Editor's DescriptionLast updated: Lorem ipsum dolor sit amet.
Dim*_*hev 43
在提供的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>
Run Code Online (Sandbox Code Playgroud)
top元素/div
有4个子节点,它们是文本节点.这四个text-node
孩子中的前三个是whitespace-only
.这四个text-node
孩子中的最后一个是被通缉的孩子.
用途:
/div/text()[last()]
Run Code Online (Sandbox Code Playgroud)
这不同于:
/div/text()
Run Code Online (Sandbox Code Playgroud)
后者可能(取决于whitespace-only
节点是否由XML解析器保留)选择所有4个文本节点,但您只需要最后一个.
另一种选择是(当你不确切知道text-node
你想要的时候):
/div/text()[normalize-space()]
Run Code Online (Sandbox Code Playgroud)
这将选择所有text-node-children
的/div
不属于whitespace-only
文本节点.
Luc*_*ero 13
只需选择text()
而不是.
:
div/text()
Run Code Online (Sandbox Code Playgroud)
在给定的XML片段上,它返回:
Lorem ipsum dolor sit amet.
Run Code Online (Sandbox Code Playgroud)