Xpath 选择1)位于给定节点之前但2)也是另一个给定节点的后代的节点
假设我有以下XML:Xpath 选择1)位于给定节点之前但2)也是另一个给定节点的后代的节点,xpath,Xpath,假设我有以下XML: <body> <div id="global-header"> header </div> <div class="a"> <h3>some title</h3> <p>text 1</p> <p>tex
<body>
<div id="global-header">
header
</div>
<div class="a">
<h3>some title</h3>
<p>text 1</p>
<p>text 2</p>
<p>text 3</p>
</div>
</body>
不幸的是,这也会选择不需要的
。您需要使用前面的同级节点来选择属于同一父节点的子节点,而不是前面的:
.//p[text()="text 2"]/preceding-sibling::*
非常感谢。这回答了我的问题。但我有一个后续问题,为了遵守我创建的SO规则,请您回答好吗?
.//p[text()="text 2"]/preceding::*
.//p[text()="text 2"]/preceding-sibling::*