在选择我需要的东西时,DomXPath有个问题。我的结构就像
<div id="a">
Something
<nobr> Inside </nobr>
</div>我想要的是只选择‘某物’而不是‘内部’。我知道如何只选择“Inside”,或者像//div[@id='a']一样同时选择两者,然后调用$obj->nodeValue,但是我无法找到只选择“某事”的方法。有人能帮我吗?谢谢。
编辑:,如果某件东西被更改为123456,你还能给我一个提示,如何只选择数字值作为奖励吗?
发布于 2011-11-05 21:31:58
在xpath中,要在文本节点中定位数字是非常重要的。相反,您可以使用PHP中的正则表达式来解析textnode的文本以获得以下值:
$doc = new DomDocument;
$doc->loadXML($xml);
$xpath = new DOMXPath($doc);
$text = $xpath->query("/div[@id='a']/child::text()")->item(0)->nodeValue;
$r = preg_match('~\d+~', $text, $matches);
list($number) = $matches;演示
https://stackoverflow.com/questions/8023014
复制相似问题