代码之家  ›  专栏  ›  技术社区  ›  Andrew

在PHP(和/或Zend框架)中解析XML响应

  •  4
  • Andrew  · 技术社区  · 14 年前

    我正在使用Zend框架并使用 Zend_Http_Client

    $client = new Zend_Http_Client('http://api.com');
    $client->setParameterPost(array(
        'param1' => 'value'
    ));
    $response = $client->request('POST');
    echo $response->getBody();
    

    此API返回一个XML文档作为其响应。

    <?xml version="1.0" ?>
    <registration>
        <id>12345</id>
    </registration>
    

    我如何才能将响应转换为我可以使用的东西?

    3 回复  |  直到 13 年前
        1
  •  13
  •   Aine    14 年前

    我发现最简单的方法是使用SimpleXml

    $data = simplexml_load_string($response->getBody());

    那么,要获得身份证,你可以使用

    $id = (string) $data->registration->id;

        2
  •  2
  •   S S    12 年前

    对于来自url的xml文件,可以使用下面的代码。

    $xml = simplexml_load_file('any url here');
    
    echo $xml->id;
    
        3
  •  1
  •   Thom Wiggers    14 年前

    Zend_XmlRpc . 否则:请参阅Pekka在问题评论中的链接,或使用 Zend_Config_Xml