Skip to main content
 首页 » 编程设计

xml之XPath 查找元素中最后一个文本节点

2025年05月04日104zhwl

如何选择元素 a 中的最后一个文本?

该元素可以有子元素。

<a>bla di bla <b>foo bar</b> yes!</a> 

应该给我“是的!”和

<a>bla di bla <b>foo bar</b></a> 

应该给我“foo bar”并且

<a>bla di bla</a> 

应该给我“bla die bla”

请您参考如下方法:

我会使用//a/descendant::text()[last()],它选择三个文本节点

 yes! 
foo bar 
bla di bla 

在示例中

<body> 
<a>bla di bla <b>foo bar</b> yes!</a> 
<a>bla di bla <b>foo bar</b></a> 
<a>bla di bla</a> 
</body> 

使用 XQuery 的在线示例 https://xqueryfiddle.liberty-development.net/nbUY4kn .

建议的路径表达式 //a/descendant::text()[last()] 适用于 XPath 1 及更高版本。