刚开始碰php,解析xml时碰到问题了
本帖最后由 yxxue 于 2012-11-25 18:57:42 编辑
远程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 />
Copy after login
我在PHP中这样获取到这个XML:
使用自己写的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 />
Copy after login
接下来我怎么读取这个xmldata呢?
如何获得
中的各个属性的值呢?
------解决方案--------------------
本帖最后由 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 />
}
Copy after login
但结果还是 utf-8 的
name="Jack"
game="lonely"
name="千斤顶"
game="寂寞"
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn