使用 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 转换为数组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章