Die Funktion xml_parse() analysiert XML-Dokumente.
Bei Erfolg gibt die Funktion TRUE zurück. Wenn dies fehlschlägt, wird FALSE zurückgegeben.
xml_parse(parser,xml,end)
Parameter | beschreiben |
---|---|
Parser | Erforderlich. Gibt den zu verwendenden XML-Parser an. |
xml | Erforderlich. Gibt die zu analysierenden XML-Daten an. |
Ende | Optional. Wenn dieser Parameter TRUE ist, sind die Daten im Parameter „xml“ das letzte Datenelement in der aktuellen Analyse. Hinweis: Entitätsfehler werden am Ende der Analyse gemeldet und nur, wenn der Parameter „end“ TRUE ist. |
Tipp: Um einen XML-Parser zu erstellen, verwenden Sie die Funktion xml_parser_create().
XML-Datei
<?xml version="1.0" binding="ISO-8859-1"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don Vergiss mich dieses Wochenende nicht!</body></note>
PHP-Code
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data; }xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r") ;while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) oder die (sprintf("XML-Fehler: %s in Zeile %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
Die Ausgabe des obigen Codes sieht folgendermaßen aus:
Tove Jani Erinnerung: Vergiss mich dieses Wochenende nicht!
Verwendung derselben XML-Datei, aber unterschiedliche Darstellung der XML-Daten:
<?php$parser=xml_parser_create();function start($parser,$element_name,$element_attrs) { case "NOTE": echo "-- Note --<br />"; „TO“: echo „To:“; break; echo „From:“; break; echo "Nachricht:"; }function stop($parser,$element_name) { echo "<br />"; }function char($parser,$data) { echo $data }xml_set_element_handler($parser,"start" ,"stop");xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r");while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML-Fehler: %s in Zeile %d", xml_error_string(xml_get_error_code($parser )), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
Die Ausgabe des obigen Codes sieht folgendermaßen aus:
-- Hinweis --An: ToveVon: JaniÜberschrift: ReminderMessage: Vergiss mich dieses Wochenende nicht!