[英]DomXPath Selecting
我在选择所需的DomXPath时遇到问题。 我有一个像
<div id="a">
Something
<nobr> Inside </nobr>
</div>
我想要的是仅选择“某物”而不是“内部”。 我知道如何像//div[@id='a']
一样同时选择'Inside'或它们两者,然后调用$obj->nodeValue
,但是我找不到唯一选择'东西。 有人可以帮我吗? 谢谢。
编辑:如果将Something更改为Something 123456,您还可以提示我如何仅选择数字值作为123456作为奖励吗?
在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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.