PHP - 将所有段落返回到第一个<h2> </h2>

时间:2011-05-10 13:20:53

标签: php dom xpath

维基百科的文章有这样的结构:

<div id="bodyContent"> 
  <div id="siteSub">...</div> 
  <div id="contentSub"></div> 
  <div id="jump-to-nav">...</div> 
  <table class="infobox vevent">...</table> 
  <p>Article summary</p>
  <p>Article summary continued</p>
  <p>Article summary continued</p>
  <table id="toc" class="toc">...</table> 

  <h2>...</h2> 
  <p>...</p>
  <p>...</p>
</div>

我对摘要部分感兴趣。使用Xpath,我想说:

从{1}}开始返回<p>个节点,并在遇到第一个#bodyContent 后立即停止

我该怎么说?

1 个答案:

答案 0 :(得分:3)

我认为你想要像//div[@id="bodyContent"]/h2[1]/preceding-sibling::p这样的东西。

这说“来自#bodyContent的孩子,找到第一个h2元素,并在其前面的兄弟姐妹中找到所有p个元素。”