PHP - 返回第一个之前的所有段落
维基百科文章具有以下结构:
<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,我想说:
从头开始返回 #bodyContent
内的
节点,并在遇到第一个
< 时立即停止;h2>
我该怎么说呢?
Wikipedia articles have this structure:
<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>
I am interested in the summary part. With Xpath, I want to say:
Return <p>
nodes inside #bodyContent
from the start AND stop as soon as you encounter the first <h2>
How do I say this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想你想要类似
//div[@id="bodyContent"]/h2[1]/preceding-sibling::p
的东西。这表示“从
#bodyContent
的子元素中,找到第一个h2
元素,并在其前面的兄弟元素中找到所有p
元素”。I think you want something like
//div[@id="bodyContent"]/h2[1]/preceding-sibling::p
.This says "from
#bodyContent
's children, find the firsth2
element and among its preceding siblings find allp
elements".