使用 PHP 将 XML 转换为数组 [重复]

Posted

技术标签:

【中文标题】使用 PHP 将 XML 转换为数组 [重复]【英文标题】:convert XML to array with PHP [duplicate] 【发布时间】:2013-10-16 06:40:36 【问题描述】:

我有一个包含以下信息的 xml;

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

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

【问题讨论】:

你尝试过 SimleXml 吗? 谢谢大家,我已经做到了。 ^^ 【参考方案1】:

您应该能够将其转换为数组。

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

这可能会奏效!

使用 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)

【讨论】:

以上是关于使用 PHP 将 XML 转换为数组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中将多维数组转换为 XML 对象 [重复]

将xml文本数组转换为关联数组[重复]

将php数组转换为xml文件

使用 PHP 将 XML 转换为关联数组

如何使用合法的 XML 将数组转换为 SimpleXML [重复]

将 XML 转换为数组 [重复]