Parser ist ein in PHP integrierter Parser zur Verarbeitung von XML. Seine Arbeit besteht aus drei Ereignissen: Start-Tag, Lesedaten und End-Tag.
Das heißt, bei der Verarbeitung von XML ergreift die Funktion jedes Mal, wenn das Start-Tag, die Daten und das End-Tag angetroffen werden, entsprechende Maßnahmen, um die Konvertierung der XML-Daten abzuschließen.
Einführung in verwandte Funktionen zum Lesen von XML in PHP:
Zitat:
Objekt-XML-Analysefunktion Beschreibung:
Element xml_set_element_handler() Der Anfang und das Ende des Elements
Zeichendaten xml_set_character_data_handler() Zeichen Beginn der Daten
Externe Entität xml_set_external_entity_ref_handler() Externe Entität erscheint
Ungeparste externe Entität xml_set_unparsed_entity_decl_handler() Nicht geparste externe Entität erscheint
Verarbeitungsanweisung xml_set_processing_instruction_handler() Verarbeitungsanweisung erscheint
Notationsdeklaration xml_set_notation _decl_handler( ) Aussehen der Notation Deklaration
Standard xml_set_default_handler() Andere Ereignisse, die keine Handlerfunktion angeben
Das Folgende ist ein Beispiel für die Verwendung der Parser-Funktion zum Lesen von XML-Daten:
// Erstellen Sie einen Parser-Editor
$parser = xml_parser_create();
//Legen Sie die entsprechenden Funktionen fest, wenn das Tag ausgelöst wird:
xml_set_element_handler($parser, "startElement", "endElement " );
// Richten Sie beim Lesen von Daten die entsprechende Funktion ein
xml_set_character_data_handler($parser, "characterData");
$xml_file="1.xml";//Geben Sie die zu lesende XML-Datei an , Es kann url sein
$filehandler = fopen($xml_file, "r");//open file
while ($data = fread($filehandler, 4096))
{
xml_parse( $parser , $data, feof($filehandler));
}//Entfernen Sie jedes Mal 4096 Bytes zur Verarbeitung
fclose($filehandler);//Schließen Sie den Parser und geben Sie ihn frei
xml_parser_free ($parser);
$name=false;
$position=false;
//Funktion des Start-Tag-Ereignisses
function startElement($parser_instance, $element_name, $attrs)
{
global $name,$position;
if($element_name=="NAME"){
$name=true;
echo "name:";
}
if($element_name=="POSITION"){
$name=false;
echo "Website:" }
}
//Funktion beim Lesen von Daten
function CharacterData($parser_instance, $xml_data)
{
global $name,$position;
if($position)
echo $xml_data ."
";
if($name)
echo $xml_data."
";
//End-Tag-Ereignisfunktion
function endElement($ parser_instance, $element_name)
{
global $name,$position;
$name=false;
?> >
Der XML-Dateicode lautet wie folgt: