0

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

首先,我使用 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');

出现一条错误消息:无法在其中找到“根”部分。确实需要您的帮助。谢谢你,抱歉英语不好。

4

1 回答 1

1

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

$xml = simplexml_load_string($response);
foreach($xml->member as $member){
    echo $member->username . 'has' . $member->money;
}
于 2012-11-21T12:04:19.037 回答