-1

我正在将一些 html 导入到 dom 文档中,并使用 xpath 来提取我感兴趣的 html 部分。见下文:

$dom = 新的 DOMDocument();
@$dom->loadHTML('$myHtmlFileHere');
$xpath_dom_doc = 新的 DomXPath($dom);
$dom_object = $dom_document->query('myPathHere');

下面是“返回”的 html 结构:

<div>GROUP A</div>
<span>aaa</span>
<span>zzz awesome</span>
<span>eee</span>

<div>GROUP B</div>
<span>fff</span>

<div>GROUP C</div>
<span>zzz</span>
<span>uuu</span>
<span>iii</span>
<span>rrr</span>

如您所见,我有类别(A 组、B 组和 C 组)。在每个类别下方的跨度中,我都有与该类别相关的信息。我想要的是将具有相关类别的跨度内容发送到数据库。我面临的问题是该类别的 div 标签没有包装跨度。所以我看不出我该如何管理。希望有人可以提供帮助。先感谢您。干杯。马克

4

1 回答 1

2

following-siblingxpath 函数呢?但是,您应该小心,并且只选择直到 next 的兄弟姐妹div

例如,用xsh2测试:

$div = //div[2] ;
ls $div/following-sibling::span[count(preceding-sibling::div)=1+count($div/preceding-sibling::div)] ;
于 2012-05-27T11:45:55.273 回答