ホームページ  >  記事  >  バックエンド開発  >  simpleXML オブジェクトからデータを読み取れない場合はどうすればよいですか?

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

WBOY
WBOYオリジナル
2016-06-23 14:01:47932ブラウズ

この投稿は joebnb によって最終編集されました: 2014-02-26 11:01:22

class just{	function xmlInclude($data){		$xml = simplexml_load_file(dirname(__FILE__).'/jump.xml');		foreach($xml->Keyword->xpath("//*[data='$data']") as $item){		  return $item;		}	}}$TR = new just;$cr = $TR->xmlInclude(查询);print_r($cr);$cr=(array)$cr;echo '<br>';print_r($cr);

simplexml 解析を作成しました。print_r は、出てきたものは配列ではなく simpleXML オブジェクトであることがわかりました
SimpleXMLElement Object ( [data] => 查询 [page] => Array ( [0] => dbcon.php [1] => select.php [2] => footer.php ) ) Array ( [data] => 查询 [page] => Array ( [0] => dbcon.php [1] => select.php [2] => footer.php ) )

値を抽出する方法その中で、Baidu で、答えは配列に変換することです。私もこれを試みました
しかし、それが出た後、
echo $cr[0].$cr[0][0].$cr[1][0]

値を取得できず、次のプロンプトが表示されました:
Notice: 未定義のオフセット: 0 in D :Program filesWEB EditphpLight2013WWWCorexml.php の 23 行目
注意: 未定義のオフセット: D:Program filesWEB EditphpLight2013WWWCorexml.php の 23 行目

simplexml obj から値を直接取得するにはどうすればよいですか?このように配列内に配列がある場合、値を取得するにはどうすればよいでしょうか?

ディスカッションへの返信(解決策)

$cr = $TR->xmlInclude(查询);echo $cr->data;echo $cr->page[1];

$cr = $TR->xmlInclude(查询);echo $cr->data;echo $cr->page[1];

ありがとうございます!それが配列の場合はどうなるのかも知りたいです。私は初心者なので、遭遇するすべてを理解したいです

$cr=(array)$cr;
echo $cr['data']; $cr['page'][1];

注: $cr=(array)$cr; は、第 1 レベルのオブジェクトを配列に変換するだけです


モデレーター、ありがとうございます。 ~~

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。