Maison >développement back-end >tutoriel php >PHP réalise l'exemple de fonction de conversion mutuelle entre XML et JSON

PHP réalise l'exemple de fonction de conversion mutuelle entre XML et JSON

高洛峰
高洛峰original
2016-12-22 14:44:591141parcourir

L'exemple de cet article décrit la fonction de conversion mutuelle entre xml et json en php. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Utilisez php pour convertir entre XML et JSON :

Veuillez consulter le manuel php pour les fonctions associées.

1. Le XML de référence est le suivant

<?xml version="1.0" encoding="UTF-8"?>
<humans>
<zhangying>
<name>张三</name>
<sex>男</sex>
<old>26</old>
</zhangying>
<tank>
<name>tank</name>
<sex>
<hao>yes</hao>
<aaaa>no</aaaa>
</sex>
<old>26</old>
</tank>
</humans>

2. Convertir XML en JSON

Utiliser simplexml

public function xml_to_json($source) {
if(is_file($source)){ //传的是文件,还是xml的string的判断
$xml_array=simplexml_load_file($source);
}else{
$xml_array=simplexml_load_string($source);
}
$json = json_encode($xml_array); //php5,以及以上,如果是更早版本,请查看JSON.php
return $json;
}

3. to xml

Utilisez la fonction récursive

public function json_to_xml($source,$charset=&#39;utf8&#39;) {
if(empty($source)){
return false;
}
//php5,以及以上,如果是更早版本,请查看JSON.php
$array = json_decode($source);
$xml =&#39;&#39;;
$xml .= $this->change($array);
return $xml;
}
public function change($source) {
$string="";
foreach($source as $k=>$v){
$string .="<".$k.">";
//判断是否是数组,或者,对像
if(is_array($v) || is_object($v)){
//是数组或者对像就的递归调用
$string .= $this->change($v);
}else{
//取得标签数据
$string .=$v;
}
$string .="";
}
return $string;
}

La méthode ci-dessus json_to_xml peut prendre en charge 8a11bc632ea32a57b3e3693c7987c420aaaadf406f776eecbaf16b62325323196f14, mais ne prend pas en charge


Pour plus d'exemples d'implémentation PHP de la fonction de conversion mutuelle entre xml et json, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn