繁体   English   中英

DOMXPath匹配文本

[英]DOMXPath Match text

代码示例:

 $html = <<<END <tr> <td>Text-1</td> </tr> <tr> <td>Blah 1</td> <td>Blah 2</td> <td>Blah 3</td> <td>Blah 4</td> </tr> <tr> <td>Text-2</td> </tr> <tr> <td>Blah 1</td> <td>Blah 2</td> <td>Blah 3</td> <td>Blah 4</td> </tr> END; $dom = new DOMDocument(); $dom->preserveWhiteSpace = false; $dom->loadhtml($html); $xpath = new DOMXPath($dom); // Grab the text $nodes = $xpath->query('//td[contains(text(), "Text-2")]|//td[contains(text(), "Blah 1")]/following-sibling::td'); echo $nodes->item(0)->textContent; 

我试图在Text-2下抓住Blah 2,问题是在Text-1下抓住Blah 2

首先,找到<tr>具有带有"Text-2"<td>子项,然后遍历下一个兄弟,直到找到具有"Blah 1"<td> 答案是下一个兄弟姐妹。

//tr[contains(td/text(), "Text-2")]/following-sibling::tr/td[contains(text(), "Blah 1")]/following-sibling::td'

找到答案:

 //*[text()='Text-2']/following::td[text()='Blah 1']/following-sibling::td 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM