如何在PHP中将XML转换为数组?

2022-08-30 06:23:37

我想将XML转换为PHP数组。关于我如何做到这一点的任何建议?

<aaaa Version="1.0">
   <bbb>
     <cccc>
       <dddd Id="id:pass" />
       <eeee name="hearaman" age="24" />
     </cccc>
   </bbb>
</aaaa>

答案 1

容易!

$xml = simplexml_load_string($xmlstring, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
$array = json_decode($json,TRUE);

答案 2

另一个选项是SimpleXML扩展(我相信它是大多数php安装的标准配置。

http://php.net/manual/en/book.simplexml.php

对于您的示例,语法如下所示

$xml = new SimpleXMLElement($xmlString);
echo $xml->bbb->cccc->dddd['Id'];
echo $xml->bbb->cccc->eeee['name'];
// or...........
foreach ($xml->bbb->cccc as $element) {
  foreach($element as $key => $val) {
   echo "{$key}: {$val}";
  }
}

推荐