1

1つの特定の値だけを検索していることを考えると、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>
4

2 に答える 2

4

その<span>要素内のプレーンテキスト文字列、つまり、を取得する必要がある場合は、 :の代わりに"Me"使用できます。evaluatequery

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

これはおそらくあなたが探しているものです。それは戻ります:

string(2) "Me"

おそらくこれは役に立ちます、そうでなければ、ジョンが書いたものです。

于 2012-04-15T18:10:31.080 に答える
3

一致することが確実な場合は、次を使用できます

echo $dom_xpath->query('//span[@id="loginName"]')->item(0)->nodeValue;
于 2012-04-15T17:12:15.257 に答える