Bagaimana cara mengubah data XML menjadi JSON menggunakan PHP?

Pada artikel ini, kita akan melihat bagaimana mengkonversi data XML ke format JSON menggunakan PHP.

Persyaratan:

Pengantar: PHP adalah singkatan dari Hypertext Preprocessor, yang digunakan untuk membuat halaman web dinamis. Itu juga mem-parsing data XML dan JSON. XML adalah singkatan dari bahasa markup yang dapat diperluas di mana kita dapat mendefinisikan data kita sendiri.

Struktur XML:

<root> 
  <child>
    <subchild> ... </subchild>
  </child>
</root>

Contoh: Kami sedang mempertimbangkan data XML siswa dan mengubahnya menjadi format JSON.

<student>
    <details>
        <address>
            <firstname>sravan kumar</firstname>
            <city>kakumanu</city>
            <zip>522112</zip>
        </address>
    </details>

    <details>
        <address>
            <firstname>sudheer</firstname>
            <city>guntur</city>
            <zip>522112</zip>
        </address>
    </details>

    <details>
        <address>
            <firstname>radha kumar</firstname>
            <city>ponnur</city>
            <zip>456345</zip>
        </address>
    </details>

    <details>
        <address>
            <firstname>vani</firstname>
            <city>noida</city>
            <zip>456644</zip>
        </address>
    </details>
</student>

JSON adalah singkatan dari JavaScript Object notation yang berformat struktur seperti array.

Struktur JSON:

{ 
    "data1": "value1",
    "data2": "value2",
    "datan": "valuen"
}

Contoh:

{"details":
[{ 
    "address": { 
        "firstname": "sravan kumar", 
        "city": "kakumanu", 
        "zip": "522112" 
    }
},
{ 
    "address": { 
        "firstname": "sudheer", 
        "city": "guntur", 
        "zip": "522112" 
    } 
},
{ 
    "address": { 
        "firstname": "radha kumar", 
        "city": "ponnur", 
        "zip": "456345" 
    } 
},
{ 
    "address": { 
        "firstname": "vani", 
        "city": "noida", 
        "zip": "456644" 
    } 
}]}

Persamaan JSON dan XML:

  • Baik JSON dan XML menggambarkan dirinya sendiri.
  • JSON dan XML bersifat hierarkis.
  • JSON dan XML dapat diuraikan yang digunakan dalam banyak bahasa pemrograman.

Perbedaan antara JSON dan XML:

JSON XML
JSON tidak menggunakan tag akhir XML menggunakan tag akhir
JSON lebih pendek dari XML XML lebih panjang dari JSON
JSON lebih cepat untuk membaca dan menulis XML sedikit lebih lambat dari JSON
Array dapat digunakan oleh JSON XML tidak dapat menggunakan array.

Metode yang Digunakan:

Langkah:

  • Buka notepad dan ketik kode berikut dan simpan sebagai base.php di xampp-htdocs map.

kode PHP: Berikut ini adalah konten untuk file “basis.php” mengajukan.

PHP

<?php

 

$xml = '<?xml version="1.0" encoding="utf-8"?>

<student>

    <details>

        <address>

            <firstname>sravan kumar</firstname>

            <city>kakumanu</city>

            <zip>522112</zip>

        </address>

    </details>

    <details>

        <address>

            <firstname>sudheer</firstname>

            <city>guntur</city>

            <zip>522112</zip>

        </address>

    </details>

    <details>

        <address>

            <firstname>radha kumar</firstname>

            <city>ponnur</city>

            <zip>456345</zip>

        </address>

    </details>

    <details>

        <address>

            <firstname>vani</firstname>

            <city>noida</city>

            <zip>456644</zip>

        </address>

    </details>

</student>';

  

$xmldata = simplexml_load_string($xml);

 

$jsondata = json_encode($xmldata);

  

print_r($jsondata);

 

?>

Keluaran: Tipe localhost/base.php di peramban Anda.

{
    "details": [
        { 
            "address": { 
            "firstname": "sravan kumar", 
            "city": "kakumanu", 
            "zip": "522112" 
        }},
        { 
            "address": { 
            "firstname": "sudheer", 
            "city": "guntur", 
            "zip": "522112" 
        }},
        { "address": { 
            "firstname": "radha kumar", 
            "city": "ponnur", 
            "zip": "456345" 
        }},
        { "address": { 
            "firstname": "vani", 
            "city": "noida", 
            "zip": "456644" 
        }}
    ]
}