在 PHP 中使用 QueryPath 从 HTML 同级元素中检索文本
我正在使用 PHP 和 QueryPath 库从一些旧的 HTML 文件中提取数据。当我需要的元素具有唯一的 css3 ID 或类时,提取很容易,但情况并非总是如此。我有一些包含以下类型数据的文件:
<div id="dataDiv">
<div class="1">Heading1</div><div class="2" title="">Data1</div>
<div class="1">Heading2</div><div class="2" title="">Data2</div>
</div>
我想使用 QueryPath 搜索包含特定文本字符串(例如“Heading2”)的类“1”的 DIV,然后检索同级中的任何文本紧邻其旁边的第 2 类的 div。 (在本例中它将检索“Data2”)。
QueryPath 中是否有内置功能允许我根据元素包含的文本导航到该元素?如果是这样,一旦我找到该元素,如何获取其下一个同级元素的内容文本?
I'm extracting data from some old HTML files using PHP and the QueryPath library. Extraction is easy when the element I need has a unique css3 ID or class, but this isn't always the case. I have some files containing the following type of data:
<div id="dataDiv">
<div class="1">Heading1</div><div class="2" title="">Data1</div>
<div class="1">Heading2</div><div class="2" title="">Data2</div>
</div>
I would like to use QueryPath to search for a DIV of class "1" containing a certain string of text ("Heading2", for example), and then retrieve any text in the sibling div of class 2 directly next to it. (It would retrieve "Data2" in this case).
Is there built in functionality in QueryPath that allows me to navigate to an element based on the text it contains? If so, once I locate that element, how can I then get the content text of its next sibling element?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我自然的想法是使用
not()
函数。一个例子:My natural idea is to is the
not()
function. An example :在 CSS 3 中使用同级运算符:
上面获取标题为
Heading1
的,然后获取类为
的相邻同级>2
。Use the sibling operator in CSS 3:
The above gets
<div class="1">
whose heading isHeading1
, then gets the adjacent sibling whose class is2
.