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 файлыг задлахыг хүсч байна.
<?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:
Жишээ тайлбарласан:
- Initialize the XML parser with the
xml_parser_create()
functionXML задлагчийг
xml_parser_create()
функцээр эхлүүлнэ - Create functions to use with the different event handlers
Янз бүрийн үйл явдлын боловсруулагчид ашиглах функцуудыг бий болгох
- Add the
xml_set_element_handler()
function to specify which function will be executed when the parser encounters the opening and closing tagsxml_set_element_handler()
функцийг нэмж, задлагч ба хаах хаягуудтай тулгарах үед ямар функцийг гүйцэтгэхийг зааж өгнө. - Add the
xml_set_character_data_handler()
function to specify which function will execute when the parser encounters character dataxml_set_character_data_handler()
функцийг нэмж, задлагч тэмдэгтийн өгөгдөлтэй тулгарах үед ямар функцийг гүйцэтгэхийг зааж өгнө. - Parse the file “note.xml” with the
xml_parse()
function“Note.xml” файлыг
xml_parse()
функцээр задлан шинжилнэ -
In case of an error, add
xml_error_string()
function to convert an XML error to a textual descriptionАлдаа гарсан тохиолдолд
xml_error_string()
функцийг нэмж XML алдааг текстийн тайлбар руу хөрвүүлнэ үү. - Call the
xml_parser_free()
function to release the memory allocated with thexml_parser_create()
functionxml_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-ээс авна уу.