我已经在这方面努力了一段时间了,但找不到如何通过file_get_contents将json转换为php中的xml的解决方案。我不想使用在线转换器,但希望将它放在我的网站根目录中。 提前谢谢!
答案 0 :(得分:2)
您可以使用json_decode()
将JSON转换为数组/对象,一旦您在数组中使用它,您就可以使用任何XML Manipulation method来构建XML。
例如,您可以构建如下的XML结构:
<array>
<data name="atrribute1">string 1</data>
<array name="array_atribute">
<data name="attribute2">string 2</data>
<data name="attribute2">string 2</data>
</array>
</array>
按DOMDocument
和方法DOMDocument::createElement()
class XMLSerialize {
protected $dom = null;
public function serialize( $array)
{
$this->dom = new DOMDocument('1.0', 'utf-8');
$element = $this->dom->createElement('array');
$this->dom->appendChild($element);
$this->addData( $element, $array);
}
protected function addData( DOMElement &$element, $array)
{
foreach($array as $k => $v){
$e = null;
if( is_array( $v)){
// Add recursive data
$e = $this->dom->createElement( 'array', $v);
$e->setAttribute( 'name', $k);
$this->addData( $e, $v);
} else {
// Add linear data
$e = $this->dom->createElement( 'data', $v);
$e->setAttribute( 'name', $k);
}
$element->appendChild($e);
}
}
public function get_xml()
{
return $this->dom->saveXML();
}
}