PHP XML ?? ??? ??
PHP XML Expat ??
??? 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 ??? Good ??? ???? ????. XML. ??? ? ????? ??? DTD(?? ?? ??)? ?? ??? ??? XML???.
??? Expat ??? ??? ?? ??? ??? ????. Expat? ???? ???? ?? DTD? ???? ?????.
??? ??? ???? ?? XML ??? Expat? ??? ???? PHP ? ??????? ??????.
??: XML ??? ??? ????? ???. ??? ??? Expat?? ??? ?????.
??
XML Expat ?? ??? PHP ??? ?? ?????. ? ??? ???? ?? ??? ???? ????.
XML ??
? ???? ?? 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("test.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); ?>
? ??? ??? ?????:
-- ?? --
?? ??: Tove
?? ??: Jani
??: ??
???: ?? ???? ?? ?? ???!
?? ??:
1. xml_parser_create() ??? ?? XML ??? ??????.
2. ??? ??? ??? ??
3. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - ? ? ? ? ? ? ? ? ? - ? ? ? ? ? ? ? ? ?? ? ? ? - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?? ? ? ?? ?? ?? ? ?? ?? - ? ? ? ? ? ? ? ? xml_set_element ?? _handler() ??? ??? ?? ??? ? ??? ??? ? ?? ??? ????? ???? ?? ???????. ?? ???? ???? ??
5. xml_parse() ??? ???? "test.xml" ??? ?? ?????
6. ??? ?? ?? xml_error_string() ??? ?????. XML ??? ??? ???? ?????
7. xml_parser_free() ??? ???? xml_parser_create() ??? ??? ???? ?????
PHP XML ?? ?? XML ??? ???? XML ??? ?? ??? ? ??? ???? ??? ?? ????.
XML? ?? ?? ?? ??? ???? ??? ?????. php.cn?? XML? ?? ??? ??? ?? ? ????.
? ?? ????? Expat XML ??? ?????.
Expat? XML ??? ??? ???? ???? ??? ?? ?????. ???? ???? ??? ??? ???? ?? ?????.
Expat? ??? ??? ?? DTD? ???? ?? ?? ?????. ??? ??? ??? ?? ??? ?? ???? ?????.
Expat? ??? ??? ??? ?? ?? ???? ??? ??? ? ??????? ?????.
XML ?? ??? ???? XML ??? ???? XML ???? ?? ???? ??? ? ????.
??
XML Parser ??? PHP ??? ?? ?????. ? ??? ???? ?? ??? ???? ????.
PHP XML ?? ??
PHP: ? ??? ???? ?? ??? PHP ??? ?????.
PHP XML ?? ??