PHP XML ?? ???
??? Expat ??? ???? PHP?? XML ??? ??? ? ????.
XML?? ??????
XML? ???? ????? ??? ?? ???? ???? ? ?????. XML ??? ???? ??? ?????.
XML?? ?? ??? ??? ????. ???? ??? ???? ???.
XML? ?? ??? ????? XML ????? ?????.
Expat? ??????
XML ??? ?? ????(?? ? ??)??? XML ??? ?????.
XML ???? ? ?? ?? ??? ????.
· ?? ?? ??: ? ??? XML ??? ?? ??? ?????. ?? ??? ???? DOM(?? ?? ??)? ?? ??? ??? ?? ???? ?????.
· ??? ?? ??: XML ??? ??? ???? ?????. ?? ???? ???? ??? ?? ???? ??? ?????.
Expat ??? ??? ?? ?????.
??? ?? ??? ????? XML ??? ??? ??? ???. ? ??? ??? ?? ??? ?? ?? ???? ? ??? ???? ???? ? ????.
?? XML ??? ?????.
<from>Jani</from>
??? ?? ??? ?? XML? ??? ? ?? ???? ?????.
· ?? ??: from
· ?? CDATA ??, ?: Jani
· ?? ??: from
?? XML ??? ??? ??? XML? ???? ????. ??? ? ????? ??? DTD(?? ?? ??)? ?? ??? ??? XML???.
??? Expat ??? ??? ?? ??? ??? ????. Expat? ???? ???? ?? DTD? ???? ?????.
??? ??? ???? ?? XML ??? Expat? ??? ???? PHP ? ??????? ??????.
??: XML ??? ??? ????? ???. ??? ??? Expat?? ??? ?????.
??
XML Expat ?? ??? PHP ??? ?? ?????. ? ??? ???? ?? ??? ???? ????.
XML ??
? ????? ?? parser_expat.xml ??? ?????:
<?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>
XML ?? ???
PHP?? XML ??? ????? ??? XML ???? ?? ???? ??? ?? ? 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("parser_expat.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); ?>
? ??? ??? ?????:
-- ?? --
?? ??: ??
?? ??: Jani
??: ??
???: ?? ??? ?? ?? ???!
?? ??:
1. xml_parser_create() ??? ?? XML ??? ??????
2. ??? ??? ???? ???? ??? ????
3. xml_set_element_handler() ??? ?????. ??? ?? ? ? ??? ??? ? ???? ??
4. ??? ?? ???? ??? ? ???? ??? ????? xml_set_character_data_handler() ??? ?????
5. ) ??? ???? "test.xml" ??? ?? ?????
6. ??? ?? ?? xml_error_string() ??? ???? XML ??? ??? ???? ?????
7. xml_parser_free() ??? ???? xml_parser_create() ??? ??? ???? ?????.
PHP Expat ??? ?? ?? ??
PHP Expat ??? ?? ??? ????? PHP XML ?? ?? ???? ?????.