Heim  >  Artikel  >  Backend-Entwicklung  >  PHP realisiert das Beispiel einer gegenseitigen Konvertierungsfunktion zwischen XML und JSON

PHP realisiert das Beispiel einer gegenseitigen Konvertierungsfunktion zwischen XML und JSON

高洛峰
高洛峰Original
2016-12-22 14:44:591096Durchsuche

Das Beispiel in diesem Artikel beschreibt die gegenseitige Konvertierungsfunktion zwischen XML und JSON in PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Verwenden Sie PHP zum Konvertieren zwischen XML und JSON:

Bitte überprüfen Sie das PHP-Handbuch für verwandte Funktionen.

1. Die Referenz-XML lautet wie folgt

<?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. Konvertieren Sie XML in JSON

Verwenden Sie 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

Verwenden Sie die rekursive Funktion

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;
}

Die obige Methode json_to_xml kann 8a11bc632ea32a57b3e3693c7987c420aaaadf406f776eecbaf16b62325323196f14 unterstützen, unterstützt jedoch nicht


Weitere Beispiele für die PHP-Implementierung der gegenseitigen Konvertierungsfunktion zwischen XML und JSON finden Sie hier zur chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn