Zend_Config_Xml中

时间:2012-11-21 10:17:17

标签: zend-framework zend-config-xml

所以我会在这里列出我的问题,请帮忙

首先,我使用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”部分。真的需要你的帮助。谢谢你,抱歉英语不好。

1 个答案:

答案 0 :(得分:2)

不要使用Zend_Config_Xml来解析标准XML文档,而是使用配置文件。 PHP可以很容易地做到这一点:

$xml = simplexml_load_string($response);
foreach($xml->member as $member){
    echo $member->username . 'has' . $member->money;
}