[英]XML XPath - selecting parent text only if child condition is met
我正在开发一个项目,只有在子元素中存在title属性时才需要从父元素获取文本而不从死者获取文本。
在下面的例子中,我需要从li
元素中获取文本'1999',当且仅当在子锚( li/i/a/@title
)中存在title属性时,这可能吗? 提前致谢
这是我最初尝试过的,但这不适用于我的用例... //ul/li/text()[last()]
,也试过//ul/li/text()
<ul>
<li>
<i>
<a href="#apples" title="apples">
Apples
</a>
</i> (1999)
</li>
</ul>
这个XPath,
//li[.//a/@title]/text()[last()]
将返回具有@title
属性的后代a
的那些li
元素的最后一个文本节点子节点:
(1999)
按照要求。
信用 :根据Allan的有用建议,简化[.//a[@title]]
至[.//a/@title]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.