この投稿は 2012-11-25 18:57:42 に yxxue によって最終編集されました。
リモート XML ドキュメントの形式は次のとおりです:
<br />
<?xml version="1.0" encoding="UTF-8" ?> <br />
<user><br />
<data errorcode="0" usernum="100626" <br />
username="u1" sex="1" nickname="麦芽糖" <br />
score="0" province="" city="" area="" /> <br />
</user><br />
この XML を PHP で次のように取得します。
私が作成した gethttpdata メソッドを使用する目的は、フォールト トレランスを目的としており、リモート サーバーにアクセスする際のプログラム エラーを回避するためです。
<br />
$login_interface_url = "http://www.1.com/1.xml";<br />
$data = gethttpdata($login_interface_url); //获取远程文件内容<br />
$xml = simplexml_load_string($data);<br />
$xmldata = var_export($xml,true);<br />
//如果使用var_dump()就直接输出了,不是我想要的。<br />
<br />
次にこの XML データを読み取るにはどうすればよいでしょうか?
064ccd8fe0d464eede327ca9840282b7 の各属性の値を取得するにはどうすればよいですか?
------解決策------------------この投稿は、xuzuning によって最後に公開されました。 2012 -11-25 22:28:58 編集
デフォルトは utf-8
$string = <<<XML<br />
<?xml version="1.0" encoding="gb2312" ?> <br />
<a><br />
<foo name="Jack" game="lonely">1</foo><br />
<foo name="千斤顶" game="寂寞">1</foo><br />
</a><br />
XML;<br />
<br />
$xml = simplexml_load_string($string);//但也可以接受非 utf-8 声明的xml<br />
foreach($xml->foo as $item) {<br />
foreach($item->attributes() as $a => $b) {<br />
echo $a,'="',$b,"\"\n";<br />
}<br />
}
です。
しかし、結果はまだ utf-8
名前=「ジャック」
ゲーム = "孤独"
名前=「ジャック」
ゲーム = "孤独"