Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar php json kepada format xml

Bagaimana untuk menukar php json kepada format xml

PHPz
PHPzasal
2023-04-19 10:05:18798semak imbas

Dengan perkembangan pesat Internet, permintaan untuk pertukaran data semakin meningkat. Walau bagaimanapun, format data mungkin tidak konsisten antara sistem yang berbeza, menjadikan pertukaran data lebih sukar. Oleh itu, keperluan untuk menukar satu format data kepada format data yang lain juga semakin meningkat.

PHP ialah bahasa pengaturcaraan sisi pelayan yang biasa digunakan yang menyokong hampir semua penukaran format data, seperti JSON, XML, CSV, dsb. Antaranya, JSON dan XML ialah format data yang biasa digunakan, yang masing-masing mewakili data dalam format teks dan format teg. Dalam pertukaran data, kedua-dua JSON dan XML mempunyai nilai aplikasi yang sangat tinggi. Artikel ini akan memberi tumpuan kepada cara menukar format JSON kepada format XML dalam PHP.

1. Ciri-ciri format JSON dan XML

Format JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang mewakili data dalam format teks. Format JSON pada asalnya dicadangkan oleh Douglas Crockford Ia menyokong pensirilan dan penyahserikan data dan boleh menukar data kepada objek JavaScript dengan mudah. Ciri-ciri format JSON ialah:

  1. Format JSON menggunakan format teks untuk mewakili data, yang mudah dibaca, ditulis dan dihantar
  2. Format JSON menyokong berbilang jenis data, seperti rentetan, nombor dan Nilai Boolean, tatasusunan, objek, dll.;
  3. Data format JSON mudah diproses kerana ia mempunyai struktur yang ringkas, mudah difahami dan sangat mudah dibaca.

Format XML (Bahasa Penanda Boleh Diperluas) ialah bahasa penanda yang mewakili data dalam format teg. Format XML pada asalnya dicadangkan oleh W3C Ia menyokong pensirilan dan penyahserikan data dan boleh menukar data kepada objek dan struktur data dengan mudah. Ciri-ciri format XML ialah:

  1. Format XML menggunakan format teg untuk mewakili data, yang mudah dibaca, ditulis dan dihantar
  2. Format XML menyokong pelbagai jenis data, seperti rentetan, nombor dan Nilai Boolean, tatasusunan, objek, dsb.;
  3. Struktur data dalam format XML boleh menjadi kompleks dan menyokong penerangan terperinci data.

2. Penukaran format JSON dan XML dalam PHP

Dalam PHP, anda boleh menukar format JSON kepada format XML melalui fungsi terbina dalam, atau anda boleh menukarnya melalui yang ketiga- perpustakaan kelas parti. Di bawah, kami akan memperkenalkan cara menukar format JSON kepada format XML melalui fungsi terbina dalam PHP.

  1. fungsi json_decode()

fungsi json_decode() digunakan untuk menukar format JSON kepada objek atau tatasusunan PHP. Ia menyokong parameter kedua untuk menetapkan jenis nilai pulangan. Apabila parameter kedua adalah benar, tatasusunan dikembalikan jika tidak, objek dikembalikan. Berikut ialah sintaks fungsi json_decode():

mixed json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0);

Antaranya, parameter $json menentukan rentetan JSON untuk dinyahkod dan parameter $assoc menentukan jenis nilai pulangan palsu, menunjukkan objek pulangan. Parameter $depth menentukan kedalaman maksimum data yang dinyahkod, nilai lalai ialah 512 dan parameter $options menentukan pilihan penyahkodan.

Kod sampel:

$json_str = '{"name":"Jone Doe","age":28,"sex":"male"}';
$json_obj = json_decode($json_str);

print_r($json_obj);

Hasil keluaran:

stdClass Object
(
    [name] => Jone Doe
    [age] => 28
    [sex] => male
)
  1. Kelas SimpleXMLElement

Kelas SimpleXMLElement digunakan untuk mencipta Unsur dan atribut XML. Ia menyediakan berbilang kaedah untuk mencipta elemen dan atribut, dan boleh menambah elemen baharu pada elemen sedia ada melalui kaedah addChild(). Berikut ialah sintaks kelas SimpleXMLElement:

SimpleXMLElement SimpleXMLElement(string $data, int $options = 0, string $ns = "", bool $is_prefix = false);

Antaranya, parameter $data menentukan data XML dan parameter $is_prefix menentukan sama ada awalan ruang nama disertakan dalam parameter $data . Nilai lalai adalah palsu. Kod contoh:

$xml = new SimpleXMLElement('<root></root>');
$xml->addChild('name', 'Jane');
$xml->addChild('age', '23');
print($xml->asXML());

Hasil output:

<?xml version="1.0"?>
<root>
    <name>Jane</name>
    <age>23</age>
</root>
  1. fungsi json_decode() dan kelas SimpleXMLElement digunakan bersama

melalui dua di atas functions , kita boleh menukar format JSON kepada objek PHP dengan mudah dan mencipta elemen XML. Di bawah, kami akan memperkenalkan cara menukar format JSON kepada format XML melalui contoh:

<?php
header("Content-type: text/xml");

$json_str = '{"name":"Jone Doe","age":28,"sex":"male"}';
$json_obj = json_decode($json_str);

$xml_str = '<root></root>';
$xml_obj = new SimpleXMLElement($xml_str);

foreach ($json_obj as $key => $value) {
    $xml_obj->addChild($key, $value);
}
print($xml_obj->asXML());
?>

Hasil berjalan:

<?xml version="1.0"?>
<root>
    <name>Jone Doe</name>
    <age>28</age>
    <sex>male</sex>
</root>

Melalui kod di atas, kita dapat melihat bahawa menukar format JSON Pemformatan kepada XML adalah mudah. Kami hanya perlu menukar format JSON kepada objek atau tatasusunan PHP, kemudian gunakan kelas SimpleXMLElement untuk mencipta elemen XML, dan kemudian menambah data dalam objek atau tatasusunan PHP kepada elemen XML satu demi satu.

3. Ringkasan

Artikel ini memperkenalkan cara menukar format JSON kepada format XML dalam PHP, terutamanya melalui fungsi json_decode() dan kelas SimpleXMLElement. JSON dan XML ialah dua format data penting yang digunakan secara meluas dalam pertukaran data. Melalui pengenalan artikel ini, saya percaya pembaca boleh menguasai kaedah menukar format JSON kepada format XML, supaya dapat memenuhi keperluan pertukaran data dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk menukar php json kepada format xml. 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