考虑到您只搜索一个特定值,是否可以直接获得唯一的第一个结果,而无需使用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>
答案 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;