Получите результаты XML в виде открытого текста, хотите просмотреть их в PHP - PullRequest
1 голос
/ 19 января 2009

Так что я работаю с API, который возвращает результаты в XML. Скажем так, ради аргумента мне возвращается следующее:

<?xml version="1.0" encoding="UTF-8"?>
<Properties>
    <Property>
        <Name>Joes Crab Shack</Name>
        <Address>111 Shack Street</Address>
    </Property>
    <Property>
        <Name>Johns Shoe Store</Name>
        <Address>123 Shoe Avenue</Address>
    </Property>
</Properties>

Теперь я использую PHP и получаю результаты в переменную. Так по сути это происходит:

$xml_results = '<?xml version="1.0" encoding="UTF-8"?><Properties><Property><Name>Joes Crab Shack</Name><Address>111 Shack Street</Address></Property><Property><Name>Johns Shoe Store</Name><Address>123 Shoe Avenue</Address></Property></Properties>';

Теперь, как я могу рассматривать это как документ XML и, например, перебирать его и распечатывать все имена свойств?

Ответы [ 2 ]

4 голосов
/ 19 января 2009

Примерно так должно получиться.

$request_xml = '<?xml version="1.0" encoding="UTF-8"?>
<Properties>
    <Property>
        <Name>Joes Crab Shack</Name>
        <Address>111 Shack Street</Address>
    </Property>
    <Property>
        <Name>Johns Shoe Store</Name>
        <Address>123 Shoe Avenue</Address>
    </Property>
</Properties>';

$xml = simplexml_load_string($request_xml);

$i = 0;
while ($xml->Property[$i])
{   
    echo $xml->Property[$i]->Name;
    echo $xml->Property[$i]->Address;

    $i++;
}
2 голосов
/ 19 января 2009

Десериализовать в дерево XML, попробуйте SimpleXML . Таким образом, вы можете получить доступ к этим данным более удобным способом и получить определенные элементы XML ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...