Bagaimana kita membuat file xml melalui kode php?

PHP Hasilkan file XML - SimpleXML, DOM, Metode Pembaca/Penulis

Hasilkan file XML secara dinamis menggunakan PHP tiga metode berbeda,

Tabel berikut menjelaskan metode mana yang baik untuk mengikuti standar dan mana yang tidak

OperasiDOMXML Pembaca/PenulisSimpleXMLRead
Dukungan yang burukWrite
Dukungan buruk Memanipulasi
Dukungan yang buruk
Dukungan yang burukDukungan Namespace Kendali Penuh
Dukungan yang burukXPATH SupportValidate

Hasilkan file XML dalam PHP SimpleXML, DOM, Metode Pembaca/Penulis

Metode XML DOM (Document Object Model).

Keunggulan DOM

  • Sangat cepat untuk dokumen kecil, memuat seluruh dokumen ke dalam memori

  • Antarmuka DOM PHP sederhana

  • Akses apa saja di pohon, dilalui dengan berbagai cara

  • Pustaka parsing XML, penggunaan libXML2 untuk DOM

Kekurangan DOM

  • Muat seluruh dokumen ke dalam memori

  • Akses data hanya setelah dokumen lengkap diurai

  • Mendukung PHP 5+ atau versi yang lebih baru

Buat XML menggunakan DOM

formatOutput = true;

  $root = $dom->createElement('student');
  $dom->appendChild($root);

  $result = $dom->createElement('result');
  $root->appendChild($result);

  $result->setAttribute('id', 1);
  $result->appendChild( $dom->createElement('name', 'Opal Kole') );
  $result->appendChild( $dom->createElement('sgpa', '8.1') );
  $result->appendChild( $dom->createElement('cgpa', '8.4') );

  echo ''. $dom->saveXML() .'';
  $dom->save('result.xml') or die('XML Create Error');
?>

Keluaran Hasil



  
    Opal Kole
    8.1
    8.4
  
_

Memanipulasi XML menggunakan DOM

Manipulasi file XML yang dibuat di atas

formatOutput = true;

  $dom->load('result.xml', LIBXML_NOBLANKS);

  $root = $dom->documentElement;
  $newresult = $root->appendChild( $dom->createElement('result') );

  $newresult->setAttribute('id', 2);
  $newresult->appendChild( $dom->createElement('name','Max Miller') );
  $newresult->appendChild( $dom->createElement('sgpa','8.7') );
  $newresult->appendChild( $dom->createElement('cgpa','8.2') );

  echo ''. $dom->saveXML() .'';
  $dom->save('new_result.xml') or die('XML Manipulate Error');
?>

Keluaran Hasil

hasil. xml



  
    Opal Kole
    8.1
    8.4
  
  
    Max Miller
    8.7
    8.2
  


Baca XML menggunakan DOM

load('new_result.xml');

  $root = $dom->documentElement;
  echo "This document is store " . $root->tagName . " Result Information" . "
"; $results = $root->getElementsByTagName( 'result' ); foreach( $results as $result){ echo 'Result Id: ' . $result->getAttribute('id'); foreach( $result->getElementsByTagName('name') as $name ){ echo ' Student ' . $name->nodeValue; } foreach( $result->getElementsByTagName('sgpa') as $sgpa ){ echo ' SGPA ' . $sgpa->nodeValue; } foreach( $result->getElementsByTagName('cgpa') as $cgpa ){ echo ' CGPA ' . $cgpa->nodeValue . "
"; } } ?>
_

Keluaran Hasil

hasil_baru. xml

This document is store student Result Information
Result Id: 1 Student Opal Kole SGPA 8.1 CGPA 8.4
Result Id: 2 Student Max Miller SGPA 8.7 CGPA 8.2


Metode Pembaca/Penulis XML

Keuntungan Pembaca/Penulis XML

  • Menggunakan sedikit memori untuk membaca dan menulis

  • Mengizinkan untuk mengakses segera

  • Mendukung PHP4+ dan PHP5+

Kelemahan Pembaca/Penulis XML

  • Membaca data hanya berurutan

  • Semua metode lambat untuk mengakses data

Contoh Pembaca XML

open('new_result.xml');

  while( $reader->read() ){
    if($reader->nodeType !== XMLReader::ELEMENT){
      continue;
    }
    if($reader->localName === 'result'){
      echo 'Result Id: ' . $reader->getAttribute('id');
    }
    if($reader->localName === 'name'){
      echo ' Student ' . $reader->readString();
    }
    if($reader->localName === 'sgpa'){
      echo ' SGPA ' . $reader->readString();
    }
    if($reader->localName === 'cgpa'){
      echo ' CGPA ' . $reader->readString() . "
";; } } ?>
_

Keluaran Hasil

Result Id: 1 Student Opal Kole SGPA 8.1 CGPA 8.4
Result Id: 2 Student Max Miller SGPA 8.7 CGPA 8.2


Contoh Penulis XML

openUri('result.xml');

  $writer->setIndentString('  ');
  $writer->setIndent(true);

  $writer->startDocument( '1.0', 'UTF-8' );
  $writer->startElement('student');

  $writer->startElement('result');
  $writer->writeAttribute('id', '1');

  $writer->writeElement('name', 'Opal Kole');
  $writer->writeElement('sgpa', '8.1');
  $writer->writeElement('cgpa', '8.4');
  $writer->endElement();   /*  */

  $writer->flush();
  $writer->endElement();  /*  */
  $writer->endDocument();
?>
_

Keluaran Hasil

hasil. xml



  
    Opal Kole
    8.1
    8.4
  
_


Membaca/Menulis SimpleXML

Penulisan SimpleXML



  
    Opal Kole
    8.1
    8.4
  
_0

Keluaran Hasil

simple_xml_create. xml



  
    Opal Kole
    8.1
    8.4
  
_1


Pembacaan XML Sederhana



  
    Opal Kole
    8.1
    8.4
  
_2

Keluaran Hasil



  
    Opal Kole
    8.1
    8.4
  
_3


  • " Sebelumnya
  • Lanjut "

Bisakah saya menulis kode PHP dalam file XML?

Tentu saja bisa . Anda bisa memiliki sesuatu seperti. php -f file Anda. xml. Simpan jawaban ini.

Bagaimana cara membuat file XML menggunakan PHP MySQL?

Hubungkan ke database menggunakan mysqli. Pertama, Anda perlu terhubung ke database menggunakan metode mysqli. .
Pilih rekaman dari tabel buku. Selanjutnya untuk memilih catatan dari tabel buku. .
Buat file XML menggunakan fungsi createXMLfile(). Akhirnya untuk menghasilkan file XML menggunakan kelas php DOMDocument, sebuah fungsi createXMLfile dibuat

Bagaimana cara menghasilkan file XML?

Cara Membuat Berkas XML .
Buka editor teks pilihan Anda
Pada baris pertama, tulis deklarasi XML
Tetapkan elemen root Anda di bawah deklarasi
Tambahkan elemen anak Anda di dalam elemen root
Tinjau file Anda untuk kesalahan
Simpan file Anda dengan. .
Uji file Anda dengan membukanya di jendela browser

Bagaimana cara menyimpan data ke file XML di PHP?

Anda dapat menggunakan XML DOM Parser untuk memproses dokumen XML dalam PHP. Selain itu, menggunakan metode saveXml() dan save() Anda akan dapat menampilkan dokumen XML ke browser dan menyimpan dokumen XML sebagai file. Fungsi saveXml() menempatkan dokumen XML internal ke dalam string. Fungsi save() menempatkan dokumen XML internal ke dalam file.