如何使用XPath选择此元素末尾的文本?

时间:2018-02-01 02:07:49

标签: php xml xpath domdocument

我的元素看起来有两种。有人喜欢这样:

<p class="pricing ats-product-price">$3.97</p>

有些人喜欢这样:

<p class="pricing ats-product-price"><em class="old_price">$8.97</em>$3.97</p>

如何从元素中可靠地选择最后一个数字(在这种情况下为$3.97)并忽略第一个?

我正在使用的当前代码是:

$prices = $xpath->query('//p[@class="pricing ats-product-price"]');

但是在第二种风格的情况下,它将返回$8.973.97。我只想要$3.97

1 个答案:

答案 0 :(得分:2)

在这两种情况下,$3.97都位于p元素的文本节点子项中。

因此这个XPath,

//p[@class="pricing ats-product-price"]/text()

将选择

$3.97

两种情况。