PHP XPATH解析HTML如何在另一个嵌套标记之前获取内部文本

时间:2014-04-05 11:49:54

标签: php html string parsing xpath

我正在使用xpath解析html而没有任何问题,直到找到下面的代码。

我通常使用“textContent”属性,我使用ax xpath查询获得此td,但我只需要在<img标记之前获取文本。

   <td class="rowdispari">
                                ZONA NON SERVITA QUOTIDIANAMENTE-PROSSIMA CONSEGNA

                                                &nbsp;
                        <img onmouseover="caricaTool()" src="template/img/infoTip.png" width="17">
                            <div class="bottom" id='tooool'>
                                <div class="contenuto">
                                    <div class="top">
                                        <font class="testobold"><font class='testoblubold'>ZONA NON SERVITA QUOTIDIANAMENTE - PROSSIMA CONSEGNA </font><br>La località di destinazione non è tra quelle servite quotidianamente da SDA. La consegna avverrà al più presto possibile, compatibilmente con le operazioni logistiche.</font>
                                        <p>&nbsp;<br><a href="javascript:chiudiTool()"><u>Chiudi</u></a>
                                    </div>
                                </div>
                            </div>

                            </td>

2 个答案:

答案 0 :(得分:0)

您可以使用:

//td[@class="rowdispari"][img[@src="template/img/infoTip.png"]]/text()[1]

或:

//td[@class="rowdispari"]/text()[following-sibling::img[@src="template/img/infoTip.png"]][1]

答案 1 :(得分:0)

假设您已经拥有XPath来获取外部<td>元素,您可以简单地将XPath附加/text()[1]以获取第一个文本节点,该节点是当前<td>元素的直接子节点:

path_to_td_here/text()[1]

更具体的例子:

//td[@class='rowdispari']/text()[1]