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

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

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

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

【问题讨论】:

  • 你尝试过 SimleXml 吗?
  • 谢谢大家,我已经做到了。 ^^

标签: php xml


【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-14
        • 1970-01-01
        • 2018-07-30
        • 2011-12-25
        • 2015-09-03
        • 2016-10-03
        • 1970-01-01
        • 2019-09-07
        相关资源
        最近更新 更多