首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DomXPath选择

DomXPath选择
EN

Stack Overflow用户
提问于 2011-11-05 20:21:40
回答 1查看 674关注 0票数 1

在选择我需要的东西时,DomXPath有个问题。我的结构就像

代码语言:javascript
复制
<div id="a">
  Something
    <nobr> Inside </nobr>
</div>

我想要的是只选择‘某物’而不是‘内部’。我知道如何只选择“Inside”,或者像//div[@id='a']一样同时选择两者,然后调用$obj->nodeValue,但是我无法找到只选择“某事”的方法。有人能帮我吗?谢谢。

编辑:,如果某件东西被更改为123456,你还能给我一个提示,如何只选择数字值作为奖励吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-05 21:31:58

在xpath中,要在文本节点中定位数字是非常重要的。相反,您可以使用PHP中的正则表达式来解析textnode的文本以获得以下值:

代码语言:javascript
复制
$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;

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8023014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档