Mit der Funktion xml_set_processing_instruction_handler()
wird die Funktion angegeben, die aufgerufen werden soll, wenn der Parser in einem XML -Dokument eine Verarbeitungsanweisung (PI) findet.
Verarbeitungsanweisungen (PIS) sind in <? und?> Und enthalten ein Ziel und seine Daten.
Beispiel: In diesem Fall assoziiert der PI ein Stylesheet mit einem XML -Dokument:
<? xml Version = "1.0" coding = "utf-8"?> <? XML-Stylesheet href = "default.xsl" type = "text/xml"?> <Note> <Te> tove </ to > <from> Jani </ from > <Heading> Erinnerung </ hulding > <Body> Vergiss mich dieses Wochenende nicht! </ body > </ note >
Hinweis: Der Parameter des Handlers kann auch ein Array sein, das Objektreferenzen und Methodamen enthält.
Erstellen Sie einen XML -Parser, richten Sie einen Charakterdatenhandler ein, richten Sie einen PI -Handler (Verarbeitungsanweisung) ein und analysieren Sie das XML -Dokument (note_pi.xml):
<? Php $ parser = xml_parser_create ( ) ; Funktion char ( $ parser , $ data ) { echo $ data ; } Funktion pi_handler ( $ parser , $ target , $ data ) { echo "Ziel: $ target <br />" ; echo "data: $ data <br />" ; } xml_set_character_data_handler ( $ parser , "char" ) ; // PI -Handler (Verarbeitungsanweisung) festlegen xml_set_processing_instruction_handler ( $ parser , "pi_handler" ) ; $ fp = fopen ( "note_pi.xml" , "r" ) ; while ( $ data = fread ( $ fp , 4096 ) ) { xml_parse ( $ parser , $ data , feof ( $ fp ) ) oder sterben ( Sprintf ( "XML -Fehler: %s online %d" , xml_error_string ( xml_get_error_code ( $ parser ) ) , xml_get_current_line_number ( $ parser ) ) ) ; } xml_parser_free ( $ parser ) ; ?>
Führen Sie die Instanz aus
xml_set_processing_instruction_handler ( Parser , Handler )
Parameter | beschreiben |
---|---|
Parser | Erforderlich. Gibt den zu verwendenden XML -Parser an. |
Handler |
Erforderlich. Gibt die als Ereignishandler verwendete Funktion an. Diese Funktion muss drei Parameter akzeptieren:
|