PHP realisiert das Beispiel einer gegenseitigen Konvertierungsfunktion zwischen XML und JSON

高洛峰
Freigeben: 2023-03-04 06:00:01
Original
1095 Leute haben es durchsucht

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>
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Die obige Methode json_to_xml kann aaaa 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!


Verwandte Etiketten:
xml
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage