考虑到您只搜索一个特定值,是否可以直接获得唯一和第一个结果,而无需使用 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>
如果您需要检索该<span>
元素中的纯文本字符串,即 "Me"
,您可以使用 evaluate
而不是 query
:
$xp->evaluate('string(//span[@id="loginName"])')
这可能更符合您的需求。它返回:
string(2) "Me"
可能这是有帮助的,否则,乔恩写的。
如果您确定会有匹配项,则可以使用
echo $dom_xpath->query('//span[@id="loginName"]')->item(0)->nodeValue;