PHP XML Expat

2 min read

The built-in XML Expat Parser makes it possible to process XML documents in PHP.

Баригдсан XML Expat Parser нь XML баримт бичгийг PHP дээр боловсруулах боломжийг олгодог.


The XML Expat Parser #

XML Expat задлагч #

The Expat parser is an event-based parser.

Expat задлагч нь үйл явдалд үндэслэсэн задлагч юм.

Look at the following XML fraction:

Дараах XML фракцийг харна уу:

Jani

An event-based parser reports the XML above as a series of three events:

Үйл явдалд суурилсан задлагч нь дээрх XML-ийг гурван үйл явдлын цуврал болгон тайлагнадаг.

  • Start element: from

    Эхлэх элемент: from

  • Start CDATA section, value: Jani

    CDATA хэсгийг эхлүүлэх, утга: Жани

  • Close element: from

    Элементийг хаах: from

The XML Expat Parser functions are part of the PHP core. There is no installation needed to use these functions.

XML Expat Parser функцууд нь PHP цөмийн нэг хэсэг юм. Эдгээр функцийг ашиглахад шаардлагатай суулгалт байхгүй байна.


The XML File #

XML файл #

The XML file “note.xml” will be used in the example below:

XML файлыг “note.xml” -ийг доорх жишээнд ашиглах болно:

Tove
Jani
Reminder
Don’t forget me this weekend!

 

Initializing the XML Expat Parser #

XML Expat задлагчийг эхлүүлэх #

We want to initialize the XML Expat Parser in PHP, define some handlers for different XML events, and then parse the XML file.

Бид XML Expat Parser програмыг PHP дээр эхлүүлж, янз бүрийн XML үйл явдлын зарим зохицуулагчийг тодорхойлж, дараа нь XML файлыг задлахыг хүсч байна.

Example #

Жишээ #

<?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("note.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); ?>

Example explained:

Жишээ тайлбарласан:

  1. Initialize the XML parser with the xml_parser_create() function

    XML задлагчийг xml_parser_create() функцээр эхлүүлнэ

  2. Create functions to use with the different event handlers

    Янз бүрийн үйл явдлын боловсруулагчид ашиглах функцуудыг бий болгох

  3. Add the xml_set_element_handler() function to specify which function will be executed when the parser encounters the opening and closing tags

    xml_set_element_handler() функцийг нэмж, задлагч ба хаах хаягуудтай тулгарах үед ямар функцийг гүйцэтгэхийг зааж өгнө.

  4. Add the xml_set_character_data_handler() function to specify which function will execute when the parser encounters character data

    xml_set_character_data_handler() функцийг нэмж, задлагч тэмдэгтийн өгөгдөлтэй тулгарах үед ямар функцийг гүйцэтгэхийг зааж өгнө.

  5. Parse the file “note.xml” with the xml_parse() function

    “Note.xml” файлыг xml_parse() функцээр задлан шинжилнэ

  6. In case of an error, add xml_error_string() function to convert an XML error to a textual description

    Алдаа гарсан тохиолдолд xml_error_string() функцийг нэмж XML алдааг текстийн тайлбар руу хөрвүүлнэ үү.

  7. Call the xml_parser_free() function to release the memory allocated with the xml_parser_create() function

    xml_parser_free() функцийг дуудаж xml_parser_create() функцээр хуваарилагдсан санах ойг суллана.


More PHP XML Expat Parser #

Бусад PHP XML Expat Parser #

For more information about the PHP Expat functions, visit our PHP XML Parser Reference.

PHP Expat функцын талаар нэмэлт мэдээлэл авахыг хүсвэл манай PHP XML Parser Reference-ээс авна уу.

Powered by BetterDocs

Leave a Reply