Penghurai PHP XML Expat

Penghuraikan Expat XML PHP


Penghuraikan Expat terbina dalam memungkinkan untuk memproses dokumen XML dalam PHP .


Apakah itu XML?

XML digunakan untuk menerangkan data, dengan tumpuan diberikan pada data itu. Fail XML menerangkan struktur data.

Dalam XML, tiada teg pratakrif. Anda mesti menentukan tag anda sendiri.

Untuk mengetahui lebih lanjut tentang XML, lawati tutorial XML kami.


Apakah itu Expat?

Untuk membaca dan mengemas kini - mencipta dan memproses - dokumen XML, anda memerlukan penghurai XML.

Terdapat dua jenis asas penghurai XML:

· Penghurai berasaskan pokok: Penghurai ini menukarkan dokumen XML kepada struktur pepohon. Ia menganalisis keseluruhan dokumen dan menyediakan akses kepada elemen dalam pepohon, seperti Model Objek Dokumen (DOM).

· Penghurai berasaskan acara: Anggap dokumen XML sebagai satu siri acara. Apabila peristiwa tertentu berlaku, penghurai memanggil fungsi untuk mengendalikannya.

Penghuraikan Expat ialah penghurai berasaskan peristiwa.

Penghurai berasaskan acara memfokuskan pada kandungan dokumen XML, bukannya strukturnya. Oleh sebab itu, penghurai berasaskan peristiwa dapat mengakses data lebih cepat daripada penghurai berasaskan pepohon.

Lihat serpihan XML berikut:

<from>Jani</from>

Penghuraikan berasaskan peristiwa melaporkan XML di atas sebagai satu siri tiga peristiwa :

· Elemen permulaan: dari

· Memulakan bahagian CDATA, nilai: Jani

· Elemen penutup: daripada

Contoh XML di atas mengandungi bentuk Baik XML. Walau bagaimanapun, tika ini adalah XML tidak sah kerana tiada pengisytiharan jenis dokumen (DTD) dikaitkan dengannya.

Walau bagaimanapun, ini tiada perbezaan apabila menggunakan penghurai Expat. Expat ialah penghurai yang tidak menyemak kesahihan dan mengabaikan sebarang DTD.

Sebagai penghurai XML berasaskan peristiwa dan tidak disahkan, Expat adalah pantas dan ringan, menjadikannya sesuai untuk aplikasi web PHP.

Nota: Dokumen XML mesti dibentuk dengan baik, jika tidak Expat akan menjana ralat.


Pemasangan

Fungsi penghurai XML Expat ialah bahagian penting teras PHP. Tiada pemasangan diperlukan untuk menggunakan fungsi ini.


Fail XML

Fail XML berikut akan digunakan dalam contoh kami:

<?xml version="1.0" encoding="ISO-8859-1"?>
 <note>
 <to>Tove</to>
 <from>Jani</from>
 <heading>Reminder</heading>
 <body>Don't forget me this weekend!</body>
 </note>


Memulakan penghurai XML

Kami akan memulakan penghurai XML dalam PHP, mentakrifkan pengendali untuk acara XML yang berbeza, dan kemudian menghuraikan fail XML.

Instance

<?php
 //Initialize the XML parser
 $parser=xml_parser_create();
 
 //Function to use at the start of an element
 function start($parser,$element_name,$element_attrs)
 {
 switch($element_name)
 {
 case "NOTE":
 echo "-- Note --<br>";
 break;
 case "TO":
 echo "To: ";
 break;
 case "FROM":
 echo "From: ";
 break;
 case "HEADING":
 echo "Heading: ";
 break;
 case "BODY":
 echo "Message: ";
 }
 }
 
 //Function to use at the end of an element
 function stop($parser,$element_name)
 {
 echo "<br>";
 }
 
 //Function to use when finding character data
 function char($parser,$data)
 {
 echo $data;
 }
 
 //Specify element handler
 xml_set_element_handler($parser,"start","stop");
 
 //Specify data handler
 xml_set_character_data_handler($parser,"char");
 
 //Open XML file
 $fp=fopen("test.xml","r");
 
 //Read data
 while ($data=fread($fp,4096))
 {
 xml_parse($parser,$data,feof($fp)) or 
 die (sprintf("XML Error: %s at line %d", 
 xml_error_string(xml_get_error_code($parser)),
 xml_get_current_line_number($parser)));
 }
 
 //Free the XML parser
 xml_parser_free($parser);
 ?>

Kod di atas akan mengeluarkan:

-- Nota --
Kepada: Tove
Daripada: Jani
Tajuk: Peringatan
Mesej: Jangan lupakan saya hujung minggu ini!

Prinsip kerja:

1 Mulakan penghurai XML melalui fungsi xml_parser_create()

2 pengendali acara yang berbeza Fungsi

3.                       Menambah fungsi xml_set_element_handler () untuk menentukan fungsi yang dilaksanakan apabila penghurai menemui teg mula dan akhir                                                Gunakan dengan menggunakan menggunakan menggunakan menggunakan                                                 ke  Fungsi yang manakah dilaksanakan apabila data aksara ditemui

5. Gunakan fungsi xml_parse() untuk menghuraikan fail "test.xml"

6. Jika berlaku ralat, tambahkan fungsi xml_error_string() untuk menghuraikan Ralat XML ditukar. ke dalam huraian teks

7. Panggil fungsi xml_parser_free() untuk melepaskan memori yang diperuntukkan kepada fungsi xml_parser_create()

Pengenalan kepada PHP XML Parser Fungsi XML membolehkan anda menghuraikan dokumen XML tetapi tidak mengesahkannya.

XML ialah format data yang digunakan untuk pertukaran dokumen berstruktur standard. Anda boleh mendapatkan lebih banyak maklumat tentang XML dalam php.cn kami.

Pelanjutan ini menggunakan penghurai Expat XML.

Expat ialah penghurai berasaskan peristiwa yang menganggap dokumen XML sebagai satu siri acara. Apabila peristiwa berlaku, ia memanggil fungsi tertentu untuk mengendalikannya.

Expat ialah penghurai tanpa pengesahan yang mengabaikan sebarang DTD yang dipautkan kepada dokumen. Walau bagaimanapun, jika dokumen itu tidak dalam bentuk yang baik, ia akan berakhir dengan mesej ralat.

Oleh kerana ia adalah penghurai berasaskan acara, bebas pengesahan, Expat adalah pantas dan sesuai untuk aplikasi web.

Fungsi penghurai XML membolehkan anda mencipta penghurai XML dan mentakrifkan pengendali untuk acara XML.


Pemasangan

Fungsi XML Parser ialah bahagian penting teras PHP. Tiada pemasangan diperlukan untuk menggunakan fungsi ini.

Fungsi Penghurai XML PHP

PHP: Menunjukkan versi PHP terawal yang menyokong fungsi ini.


QQ截图20161009165838.pngPemalar Penghurai XML PHP

QQ截图20161009165856.png

QQ截图20161009165909.png

Meneruskan pembelajaran
||
<?php //Initialize the XML parser $parser=xml_parser_create(); //Function to use at the start of an element function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- Note --<br>"; break; case "TO": echo "To: "; break; case "FROM": echo "From: "; break; case "HEADING": echo "Heading: "; break; case "BODY": echo "Message: "; } } //Function to use at the end of an element function stop($parser,$element_name) { echo "<br>"; } //Function to use when finding character data function char($parser,$data) { echo $data; } //Specify element handler xml_set_element_handler($parser,"start","stop"); //Specify data handler xml_set_character_data_handler($parser,"char"); //Open XML file $fp=fopen("test.xml","r"); //Read data while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } //Free the XML parser xml_parser_free($parser); ?>
  • Cadangan kursus
  • Muat turun perisian kursus