所以我会在这里列出我的问题,请帮忙
首先,我使用Zend_Http_Client来调用url:
$client = new Zend_Http_Client('http://mydomain.com/Statistics.aspx?activity=top');
$response = $client->request('POST');
$response = $response->getRawBody();
然后,当我打印出来时,我得到$ response的Xml文档结构:
[?xml version='1.0' encoding='UTF-8'?]
[root]
[member]
[username>gh_MXH[/username]
[money]129300[/money]
[/member]
[member]
[username]sonhothiet_MXH[/username]
[money]107400[/money]
[/member]
[/root]
之后,我使用Zend_Config_Xml:
$xmlReader = new Zend_Config_Xml($response);
$xml = $xmlReader->toArray();
但是当我打印出$ xml时,我得到的只是数组的第一个元素:
Array
(
[member] => Array
(
[username] => gh_MXH
[money] => 129300
)
)
请告诉我如何获取所有元素,以便我可以执行循环:
foreach($xml as $key => $value){
echo $value['username'] . 'has' . $value['money'];
}
还有一个问题,当我写道:
$xml = new Zend_Config_Xml($response, 'root');
似乎有一个错误说:找不到“root”部分。真的需要你的帮助。谢谢你,抱歉英语不好。
答案 0 :(得分:2)
不要使用Zend_Config_Xml
来解析标准XML文档,而是使用配置文件。 PHP可以很容易地做到这一点:
$xml = simplexml_load_string($response);
foreach($xml->member as $member){
echo $member->username . 'has' . $member->money;
}