使用PHP将XML转换为数组

时间:2013-10-09 04:13:41

标签: php xml

我有一个xml以下信息;

<item>
<site>Cambodia</site> 
<city>Phnom Penh</city> 
<code>21000</code >
</item>

我想从这个xml获取所有信息并将它们输入到数组$ data中,然后像这样一个接一个地回显它们; site =柬埔寨; city = Phnom Penh;代码= 21000;但我不知道该怎么做。请帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

您应该可以将其强制转换为数组。

$data = new SimpleXMLElement($xml);
$array = (array) $data;

答案 1 :(得分:0)

这可能会成功!

使用 xml_parse_into_struct - 将XML数据解析为数组结构

<?php
     $simple = "<item><site>Cambodia</site><city>Phnom Penh</city><code>21000</code>           </item>";

     $p = xml_parser_create();
     xml_parse_into_struct($p, $simple, $vals, $index);
     xml_parser_free($p);
     echo "Index array\n";
     print_r($index);
     echo "\nVals array\n";
     print_r($vals);
?>

SimpleXMLElement

$xml = new SimpleXMLElement($xmlString);

echo $xml->item->site;

$userArray = (array) $xml;
print_r($userArray)

答案 2 :(得分:0)

您将通过以下代码获得所需的输出

 $xml = '
    <item>
    <site>Cambodia</site> 
    <city>Phnom Penh</city> 
    <code>21000</code >
    </item>';


    $data = new SimpleXmlElement($xml);
     $array = (array) $data;

     foreach($array as $key => $value){
     echo $key .'='. $value.'; ';  ///output:- site = Cambodia; city = Phnom Penh; code = 21000;
     }