電子書籍の厳選無料作品が豊富!

PHPでsimplexmlを用いていますが、XMLから値を取得する方法で、他のタグなどの情報は取り出せるのですが、ルート要素である以下の文章からtotalResultsの値である20だけを取り出したいですがうまくいきません。
<ResultSet totalResults="20" totalReturned="2">

以下のようにあるところへ投げた結果のXMLを取得しています。
$file = file_get_contents( $url );
$xml = simplexml_load_string( $file );

お手数ですがよろしくお願いします。

A 回答 (1件)

$xml = simplexml_load_file( $file );



1. echo $xml->attributes()->totalResults;
2.
$result = $xml->xpath('@totalResults');
echo $result[0]->totalResults;
// SimpleXML#xpath は属性値を取るようにはなっていないかもしれません

3.
$doc = new DOMDocument();
$doc->load( $file );
$xpath = new DOMXPath($doc);
$result = $xpath->query('@totalResults');
echo $result->item(0)->value;

4.
$xml = new XMLReader();
$xml->open($file);

$xml->read();
$xml->moveToAttribute('totalResults');
echo $xml->value;

など。
    • good
    • 0
この回答へのお礼

教えて下さいましたように以下で解決しました。
$result = $xml->xpath('@totalResults');
echo $result[0];
simplexmlでもできないこともあるのですね。
助かりました。
ありがとうございました。

お礼日時:2010/01/11 17:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!