没有兄弟姐妹的单个子元素的 XPath?

问题描述 投票:0回答:1

假设我有这个例子:

<div>
<p>some text <em>emphasized text</em> some other text</p>
<p><em>The paragraph I want to capture</em></p>
<p>some text <em>emphasized text</em> some other text and <em>other em text</em> until the end.</p>
</div>

我要选择的是第二段(但也可能是第三段或第一段)。问题是这里

p
em
是相邻的。
<p>
<em>
之间没有任何文字,开头和结尾都没有。所有文字都在里面
<em>xyz</em>

如何通过 XPath 查询获取它?

我尝试了

//p/em
,/
/p/child:em
//em/parent:p
,所有这些都选择了三个段落,因为所有
em
都是
p
的子级。
//p[starts-with(.,'./em')]
也没有帮助。

html xml xpath
1个回答
0
投票

这个 XPath,

//[count(node())=1]p[em]

将选择具有单个子节点(即

p
元素)的所有
em
元素。

© www.soinside.com 2019 - 2024. All rights reserved.