DOMXPath获取查询的第一个值

时间:2012-04-15 17:10:37

标签: php domxpath

考虑到您只搜索一个特定值,是否可以直接获得唯一的第一个结果,而无需使用foreach解析结果? 像这样:

$elements = $dom_xpath->query('//span[@id="loginName"]');


echo $elements->firstNode->nodeValue; // this doesn't exist of course

html代码是

<div>
  <div id="name">text<span id="loginName">Me</span></div>
</div>

2 个答案:

答案 0 :(得分:4)

如果您需要检索<span>元素内的纯文本字符串,即"Me",则可以使用evaluate代替query

$xp->evaluate('string(//span[@id="loginName"])')

这可能是您正在寻找的更多内容。它返回:

string(2) "Me"

可能这有用,否则,Jon wrote

答案 1 :(得分:2)

如果你确定会有匹配,你可以使用

echo $dom_xpath->query('//span[@id="loginName"]')->item(0)->nodeValue;