PHP XML Expat parser


ULASHISH

PHP XML Expat tahlilchisi

XML Expat Parser voqeaga asoslangan tahlilchi bo‘lib, u XML hujjatini bir qator voqealar sifatida ko‘rib chiqadi. Voqea sodir bo‘lganda, uni boshqarish uchun belgilangan funksiyani chaqiradi.

XML Expat Parser, shuningdek, tasdiqlanmaydigan tahlil qiluvchi hisoblanadi va hujjatga bog‘langan har qanday DTDlarni e’tiborsiz qoldiradi. Biroq, agar hujjat yaxshi shakllanmagan bo‘lsa, u xato xabari bilan tugaydi.

Bu hodisaga asoslangan, tasdiqlanmaydigan tahlilchi bo‘lgani uchun XML Expat Parser tez va veb-ilovalar uchun juda mos keladi.

Quyidagi XML fraktsiyasiga qarang:

<from>Jani</from>

Hodisaga asoslangan tahlilchi yuqoridagi XML ni 3 ta hodisa qatori sifatida hisobot qiladi:

  • Boshlash elementi: dan
  • CDATA bo‘limi: Jani
  • Yakuniy element: dan
Maslahat: XML Expat Parser PHP yadrosining bir qismidir. O‘rnatish shart emas!

PHP XML Expat Parser - Asosiy funksiyalari

XML Expat Parser ning asosiy funksiyalari quyidagilardan iborat:



XML Expat tahlilchisidan foydalanish

Quyidagi misolda "note.xml" XML faylidan foydalaniladi.

Quyidagi misolda biz ba’zi ishlov beruvchi funksiyalarini aniqlaymiz, XML faylini ochamiz, XML Expat Parserni ishga tushiramiz va keyin XML faylini tahlil qilamiz:

Misol

<?php // Define handler functions 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 stop($parser, $element_name) {   echo "<br>"; } function char($parser, $data) {   echo $data; } // Open XML file for reading $stream = fopen("note.xml", "r"); // Initialize the XML parser $parser = xml_parser_create(); // Set the handlers xml_set_element_handler($parser, "start", "stop"); xml_set_character_data_handler($parser, "char"); // Read data while ($data = fread($stream, 4096)) {   xml_parse($parser, $data, feof($stream)) 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 resource xml_parser_free($parser); // Close XML file fclose($stream); ?>
Misolni ishga tushirish »

Yuqoridagi kodning natijasi quyidagicha bo‘ladi:

-- Note -- To: Tove From: Jani Heading: Reminder Message: Don't forget me this weekend!

Kod tushuntirish

  1. Ishlovchi funksiyalarini yarating (start(), stop() va char())
  2. fopen() funksiyasi bilan o‘qish uchun XML faylini oching
  3. XML parserni xml_parser_create() funksiyasi bilan ishga tushiring
  4. Ishlovchilarni o‘rnating: xml_set_element_handler() teglarni ochish va yopishda qaysi funksiyani bajarish kerakligini va xml_set_character_data_handler() belgilar ma’lumotlarida qaysi funksiyani bajarish kerakligini belgilaydi.
  5. XML faylni xml_parse() funksiyasi bilan tahlil qiling
  6. Xato bo‘lsa, XML xatosini matn tavsifiga aylantirish uchun xml_error_string() funksiyasini qo‘shing.
  7. XML parser resursini xml_parser_free() funksiyasi bilan bo‘shating
  8. XML faylni fclose() funksiyasi bilan yoping

PHP XML Expat Parser ma’lumotnomasi

PHP XML Expat Parser funksiyalari haqida to‘liq ma’lumot olish uchun PHP XML Expat Parser Reference sahifamizga tashrif buyuring.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!