ホームページ >バックエンド開発 >PHPチュートリアル >simpleXML オブジェクトからデータを読み取れない場合の対処方法

simpleXML オブジェクトからデータを読み取れない場合の対処方法

WBOY
WBOYオリジナル
2016-06-13 12:29:38782ブラウズ

simpleXML オブジェクトからデータを読み取れない場合はどうすればよいですか?

この投稿は joebnb によって最終編集されました: 2014-02-26 11:01:22
class just{<br />
	function xmlInclude($data){<br />
		$xml = simplexml_load_file(dirname(__FILE__).'/jump.xml');<br />
		foreach($xml->Keyword->xpath("//*[data='$data']") as $item){<br />
		  return $item;<br />
		}<br />
	}<br />
}<br />
$TR = new just;<br />
$cr = $TR->xmlInclude(查询);<br />
print_r($cr);<br />
$cr=(array)$cr;<br />
echo '<br>';<br />
print_r($cr);<br />

simplexml パーサーを作成したところ、print_r は、それが配列ではなく simpleXML オブジェクトであることを発見しました
SimpleXMLElement Object ( [data] => 查询 [page] => Array ( [0] => dbcon.php [1] => select.php [2] => footer.php ) ) <br />
Array ( [data] => 查询 [page] => Array ( [0] => dbcon.php [1] => select.php [2] => footer.php ) )

その中の値を抽出するにはどうすればよいですか? Baidu の回答はすべて、これを実行しようとしました
でも出てきてから
echo $cr[0].$cr[0][0].$cr[1][0]

値を取得できず、次のプロンプトが表示されます:
注意: 未定義のオフセット: D:Program filesWEB EditphpLight2013WWWCorexml.php の 23 行目
に 0 があります 注意: 未定義のオフセット: D:Program filesWEB EditphpLight2013WWWCorexml.php の 23 行目
に 0 があります
simplexml obj から値を直接取得するにはどうすればよいですか?このように配列内に配列がある場合、値を取得するにはどうすればよいでしょうか? $cr = $TR->xmlInclude(クエリ);
$cr=(配列)$cr;
echo $cr['data'];
echo $cr['page'][1];

注: $cr=(array)$cr; は、第 1 レベルのオブジェクトを配列
に変換するだけです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。