有没有办法通过PHP自动将XML页面转换为JSON?

时间:2012-05-09 22:04:43

标签: php javascript xml json

  

可能重复:
  PHP convert XML to JSON

以下是我的输出XML示例:

<item>
 <Barcode>0602527522593</Barcode>
 <albumid>1818</albumid>
 <Title>Gold</Title>
 <Country>Sweden</Country>
 <Format>CD</Format>
 <Length></Length>
 <Number_of_Discs></Number_of_Discs>
 <Type>album</Type>
 <Description></Description>
 <Band_or_Artist>Adams, Ryan</Band_or_Artist>
</item>

是否有一个易于使用的内置PHP函数或加载项来快速将其转换为JSON并输出它?如果它不是内置的,我应该使用哪个扩展名?

4 个答案:

答案 0 :(得分:1)

在客户端执行此操作的替代方法是来自fyneworks的XML to JSON plugin

答案 1 :(得分:1)

您可以使用SimpleXML(http://php.net/manual/en/book.simplexml.php)读取XML输入,然后使用json_encode(http://php.net/manual/en/book.json .php)创建输出。

您可能只想迭代节点列表并使用标记名称作为键将所有内容放入数组中,应该相当简单。

答案 2 :(得分:0)

有很多。这是来自IBM的一个:http://www.ibm.com/developerworks/xml/library/x-xml2jsonphp/

答案 3 :(得分:0)

这样的东西?

<?php

$xmlstr = "<item>
 <Barcode>0602527522593</Barcode>
 <albumid>1818</albumid>
 <Title>Gold</Title>
 <Country>Sweden</Country>
 <Format>CD</Format>
 <Length></Length>
 <Number_of_Discs></Number_of_Discs>
 <Type>album</Type>
 <Description></Description>
 <Band_or_Artist>Adams, Ryan</Band_or_Artist>
</item>";

$movies = new SimpleXMLElement($xmlstr);
echo $output = json_encode($movies);
?>