将XML结果以明文形式出现,希望在PHP中循环使用它们

时间:2009-01-19 17:16:51

标签: php xml

所以我正在使用一个以XML格式返回结果的API。我们只是为了争论而说,我将返回以下内容:

<?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 个答案:

答案 0 :(得分:4)

这样的事情应该可以完成工作。

$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++;
}

答案 1 :(得分:2)

反序列化为xml树,尝试SimpleXML。这样您就可以以更方便的方式访问该数据并获取特定的xml元素..