Dom 当查询到达带有XPath的特定类时,如何停止查询?
假设我有以下几点:Dom 当查询到达带有XPath的特定类时,如何停止查询?,dom,xpath,Dom,Xpath,假设我有以下几点: <div class="data"> <h2 class="entry-contentH2">Preparation</h2> <h2>Airplanes</h2> <ul> <li><strong>3 large</strong> wings</li> <li><strong>
<div class="data">
<h2 class="entry-contentH2">Preparation</h2>
<h2>Airplanes</h2>
<ul>
<li><strong>3 large</strong> wings</li>
<li><strong>2</strong>doors</li>
</ul>
<h2>Car</h2>
<ul>
<li><strong>4</strong> doors</li>
<li><strong>1 cup</strong> holder</li>
</ul>
<h2 class="stopHeader">Execution</h2>
<h2>Motorcycles</h2>
<ul>
<li>Easy to learn</li>
</ul>
</div>
尝试以下XPath以获得所需的输出:
//h2[.="Preparation"]/following-sibling::h2[./following-sibling::h2[.="Execution"]]/text()
这应该返回“准备”
和“执行”
之间的每个标题(h2
)的文本内容。请尝试此xpath
//h2[text()='Preparation']/following::h2[not(@class='stopHeader')]/text()
这似乎奏效了。您是否得到错误的输出?出于某种原因,它正在查询所有的p标记,包括stopHeader之后的标记。如果要将
[@class=“stopHeader”]
替换为[@class=“stopHeader”]
,该怎么办?到目前为止,XPath不区分大小写。您希望的输出是什么<代码>“飞机”,“汽车”
?谢谢Andersson,它可以工作,但我会理解这里发生了什么,因为我尝试过的都不起作用。你好,你尝试过这个答案吗?提供您的反馈。
//h2[text()='Preparation']/following::h2[not(@class='stopHeader')]/text()