PHP & XML

XML adalah bahasa markup yang sangat mirip dengan HTML. Dokumen XML adalah teks biasa dan berisi tag yang dipisahkan oleh <dan>. Ada dua perbedaan besar antara XML dan HTML -

  • XML tidak menentukan kumpulan tag tertentu yang harus Anda gunakan.
  • XML sangat pilih-pilih tentang struktur dokumen.

XML memberi Anda lebih banyak kebebasan daripada HTML. HTML memiliki sekumpulan tag tertentu: tag <a> </a> mengelilingi sebuah tautan, <p> paragraf awal, dan seterusnya. Dokumen XML, bagaimanapun, dapat menggunakan tag apa pun yang Anda inginkan. Tempatkan tag <rating> </rating> di sekitar peringkat film, tag <height> </height> di sekitar tinggi seseorang. Jadi XML memberi Anda opsi untuk memasang tag Anda sendiri.

XML sangat ketat dalam hal struktur dokumen. HTML memungkinkan Anda bermain cepat dan lepas dengan beberapa tag pembuka dan penutup. Namun tidak demikian halnya dengan XML.

Daftar HTML yang bukan XML yang valid

<ul>
   <li>Braised Sea Cucumber
   <li>Baked Giblets with Salt
   <li>Abalone with Marrow and Duck Feet
</ul>

Ini bukan dokumen XML yang valid karena tidak ada tag </li> penutup yang cocok dengan ketiga tag <li> pembuka. Setiap tag yang dibuka dalam dokumen XML harus ditutup.

Daftar HTML yang XML valid

<ul>
   <li>Braised Sea Cucumber</li>
   <li>Baked Giblets with Salt</li>
   <li>Abalone with Marrow and Duck Feet</li>
</ul>

Mengurai Dokumen XML

PHP 5 baru SimpleXMLmodul membuat penguraian dokumen XML, yah, sederhana. Ini mengubah dokumen XML menjadi objek yang menyediakan akses terstruktur ke XML.

Untuk membuat objek SimpleXML dari dokumen XML yang disimpan dalam string, teruskan string ke simplexml_load_string( ). Ini mengembalikan objek SimpleXML.

Contoh

Coba contoh berikut -

<html>
   <body>
      
      <?php
         $note=<<<XML
         
         <note>
            <to>Gopal K Verma</to>
            <from>Sairamkrishna</from>
            <heading>Project submission</heading>
            <body>Please see clearly </body>
         </note>
         
         XML;
         $xml=simplexml_load_string($note);
         print_r($xml);
      ?>
		
   </body>
</html>

Ini akan menghasilkan hasil sebagai berikut -

NOTE - Anda dapat menggunakan fungsi simplexml_load_file( filename) jika Anda memiliki konten XML dalam sebuah file.

Untuk detail lengkap fungsi parsing XML, periksa Referensi Fungsi PHP .

Menghasilkan Dokumen XML

SimpleXML bagus untuk mengurai dokumen XML yang ada, tetapi Anda tidak dapat menggunakannya untuk membuat yang baru dari awal.

Cara termudah untuk menghasilkan dokumen XML adalah dengan membangun array PHP yang strukturnya mencerminkan dokumen XML dan kemudian melakukan iterasi melalui array, mencetak setiap elemen dengan format yang sesuai.

Contoh

Coba contoh berikut -

<?php
   $channel = array('title' => "What's For Dinner",
      'link' => 'http://menu.example.com/',
      'description' => 'Choose what to eat tonight.');
   
   print "<channel>\n";
   
   foreach ($channel as $element => $content) {
      print " <$element>";
      print htmlentities($content);
      print "</$element>\n";
   }
   
   print "</channel>";
?>

Ini akan menghasilkan hasil sebagai berikut -

http://menu.example.com/ Choose what to eat tonight.