亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP XML Expat

Penghurai Ekspat XML PHP

XML ialah format fail separa berstruktur popular yang menyimpan data dalam format seperti pangkalan data. Dalam aplikasi praktikal, beberapa data mudah dan rendah keselamatan sering disimpan dalam format fail XML. Kelebihan ini ialah di satu pihak, ia boleh meningkatkan kecekapan membaca dengan mengurangkan operasi interaktif dengan pangkalan data, dan sebaliknya, ia boleh menggunakan kelebihan XML secara berkesan untuk mengurangkan kesukaran menulis program.

Penghurai Expat terbina dalam membolehkan anda memproses dokumen XML dalam PHP.

Apakah itu XML?

XML ialah singkatan daripada "Bahasa Penanda eXtensible" dan merupakan bahasa penanda yang serupa dengan HTML. Tetapi tidak seperti HTML, XML digunakan terutamanya untuk menerangkan data dan menyimpan data, manakala HTML digunakan terutamanya untuk memaparkan data.

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.

Contohnya:

   <?xml version="1.0"?>
        <threads>
            <thread>
                <title>Welcome </title>
                <author>Simon </author>
                <content>Welcome to XML guestbook!! </content>
             <thread>
        </threads>

Di bahagian atas fail XML, <?xml version="1.0"?> biasanya digunakan untuk mengenal pasti permulaan data XML dan penggunaan data XML maklumat Versi standard.

teg<benang> dan <benang> Terdapat tajuk, pengarang dan kandungan dalam mesej, yang sepenuhnya menyatakan mesej mesej.

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

Apakah Expat?

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

Terdapat dua jenis asas penghurai XML:

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

2. 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.

Sila lihat serpihan XML berikut:

<from>Jani</from>

Penghurai berasaskan acara melaporkan XML di atas Untuk urutan tiga peristiwa:

elemen mula: dari

mulakan bahagian CDATA, nilai: Jani

elemen tutup: daripada

contoh XML di atas Mengandungi dengan baik -terbentuk 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 acara 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 Expat XML 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

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

Instance

<?php
//初始化XML解析器
$parser=xml_parser_create();
//在元素開始時使用的函數(shù)
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: ";
}
}
//函數(shù)結(jié)束時使用的函數(shù)
function stop($parser,$element_name)
{
echo "<br>";
}
//查找字符數(shù)據(jù)時使用的函數(shù)
function char($parser,$data)
{
echo $data;
}
//指定元素的處理
xml_set_element_handler($parser,"start","stop");
//指定數(shù)據(jù)處理程序
xml_set_character_data_handler($parser,"char");
//打開XML文件
$fp=fopen("test.xml","r");
//讀取數(shù)據(jù)
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)));
}
//釋放內(nèi)存
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 . Cipta fungsi yang sepadan dengan pengendali acara yang berbeza

3 Tambahkan fungsi xml_set_element_handler() untuk menentukan fungsi yang hendak dilaksanakan apabila penghurai menemui teg permulaan dan penamat

4. ) untuk menentukan fungsi yang hendak dilaksanakan apabila penghurai menemui data aksara

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

6. tambahkan fungsi xml_error_string() untuk menukar ralat XML kepada huraian teks

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

Maklumat lanjut tentang PHP Expat. parser

Untuk mengetahui lebih lanjut tentang fungsi PHP Expat, sila lawati Manual Rujukan Penghurai PHP XML kami.


Meneruskan pembelajaran
||
<?php //初始化XML解析器 $parser=xml_parser_create(); //在元素開始時使用的函數(shù) 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: "; } } //函數(shù)結(jié)束時使用的函數(shù) function stop($parser,$element_name) { echo "<br>"; } //查找字符數(shù)據(jù)時使用的函數(shù) function char($parser,$data) { echo $data; } //指定元素的處理 xml_set_element_handler($parser,"start","stop"); //指定數(shù)據(jù)處理程序 xml_set_character_data_handler($parser,"char"); //打開XML文件 $fp=fopen("test.xml","r"); //讀取數(shù)據(jù) 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))); } //釋放內(nèi)存 xml_parser_free($parser); ?>