Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk merealisasikan fungsi penukaran bersama antara XML dan JSON dalam PHP

Bagaimana untuk merealisasikan fungsi penukaran bersama antara XML dan JSON dalam PHP

PHPz
PHPzasal
2023-04-04 10:41:37801semak imbas

Dalam pembangunan Web, PHP mempunyai kecekapan tinggi dalam pemprosesan data dan mempunyai sokongan yang kaya untuk format data. Antaranya, sokongan PHP untuk format data XML dan JSON amat menonjol, dan ia memainkan peranan penting dalam interaksi data. Artikel ini akan memperkenalkan cara melaksanakan fungsi penukaran bersama antara XML dan JSON dalam PHP.

I. Apakah itu XML?

XML ialah bahasa penanda (Markup Language) yang digunakan untuk menerangkan data dan hubungan antara data. Ia boleh mewakili kandungan teks biasa, imej, audio, klip video dan struktur data kompleks lain.

Peraturan sintaks XML adalah ketat dan teg serta atribut mesti ditulis mengikut peraturan. Teg mesti mempunyai teg mula dan teg akhir, dan teg mula dan akhir mesti sepadan dengan tepat. Pada masa yang sama, struktur data XML mempunyai kebolehbacaan yang baik.

Dalam PHP, kami boleh mengendalikan data XML melalui sokongan pelbagai perpustakaan sambungan DOM, seperti DOMDocument dan sebagainya.

II. Apakah itu JSON?

JSON ialah singkatan Notasi Objek JavaScript. Ia adalah format pertukaran data ringan yang mudah difahami dan ditulis oleh orang ramai. Pada masa yang sama, JSON juga merupakan bahasa penerangan data bebas yang menyokong berbilang bahasa pengaturcaraan, seperti C, C++, C#, Java, PHP dan Perl.

Sintaks JSON ialah subset JavaScript. Struktur data JSON termasuk objek dan tatasusunan. Objek dikelilingi oleh sepasang pendakap kerinting dan terdiri daripada pasangan nilai kunci. Tatasusunan dikelilingi oleh sepasang kurungan segi empat sama, dan elemennya boleh menjadi objek, tatasusunan, rentetan, nilai, nilai bollean atau nilai nol, dsb.

Dalam PHP, kami boleh mengekod dan menghuraikan data JSON melalui fungsi json_encode() dan json_decode().

III. Penukaran bersama antara XML dan JSON dalam PHP

  1. XML kepada JSON

Proses penukaran XML kepada JSON sangat mudah dan jelas. Kita boleh menukar XML kepada model objek (model DOM) melalui kelas DOMDocument, dan kemudian menukar model DOM kepada rentetan JSON melalui fungsi json_encode().

Kod sampel:

$xmlString = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <name>John Doe</name>
    <age>25</age>
    <gender>male</gender>
</root>
XML;

$xml = new \DomDocument();
$xml->loadXML($xmlString);
$jsonString = json_encode($xml, JSON_PRETTY_PRINT);
echo $jsonString;

Rentetan JSON yang ditukar adalah seperti berikut:

{
    "root": {
        "name": "John Doe",
        "age": "25",
        "gender": "male"
    }
}
  1. JSON ke XML

JSON Menukar kepada XML memerlukan penciptaan manual dokumen XML. Kita boleh menukar rentetan JSON kepada objek PHP melalui fungsi json_decode(), dan kemudian menukar objek itu kepada dokumen XML melalui kelas DOMDocument.

Kod sampel:

$jsonString = '{"root": {"name": "John Doe","age": "25","gender": "male"}}';
$json = json_decode($jsonString);
 
$xml = new DOMDocument();
$root = $xml->createElement("root");
$xml->appendChild($root);
 
foreach($json->root as $key=>$value) {
    $node = $xml->createElement($key, $value);
    $root->appendChild($node);
}
 
$xmlString = $xml->saveXML();
echo $xmlString;

Dokumen XML yang ditukar adalah seperti berikut:

<?xml version="1.0"?>
<root>
  <name>John Doe</name>
  <age>25</age>
  <gender>male</gender>
</root>

IV.Kesimpulan

Dalam pembangunan Web, penghantaran data Terdapat banyak format, dan XML dan JSON ialah dua format interaksi data biasa. Dalam PHP, kita boleh menggunakan kelas DOMDocument dan fungsi json_encode/json_decode untuk mencapai penukaran bersama antara XML dan JSON. Gunakan DOMDocument untuk menukar XML kepada model objek, dan gunakan json_encode untuk menukarnya menjadi rentetan JSON gunakan json_decode untuk menukar rentetan JSON menjadi objek PHP, gunakan DOMDocument untuk membuat instantiate dokumen XML, dan akhirnya membina objek PHP menjadi XML; dokumen.

Atas ialah kandungan terperinci Bagaimana untuk merealisasikan fungsi penukaran bersama antara XML dan JSON dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn