Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  XML
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet



 

XML-Funktionen in PHP




Nun da Sie sich mit dem Thema vertraut gemacht haben können wir uns der Verarbeitung von XML-Strukturen durch PHP zu wenden. Sie sollten sich als erstes mit den XML-Funktionen auseinandersetzen, die Ihnen mit der PHP Erweiterung Expat zur Verfügung stehen.

Expat ist ereignisorientiert. Das bedeutet, das zunächst einzelne Funktionen für die verschiedene Ereignisse definiert werden. Ein Ereignis kann z.B. ein öffnendes Element, ein schließendes Element oder der Inhalt, der von einem öffnenden, und einem schließendem Element eingeklammert ist, sein.

Für folgende Elemente können Funktionen definiert werden.
• Startendes Element, mit Attributen ()
• Normaler Text "Character Data", zwischen den öffnendem und schließendem Element
• Abschließendes Element (
)
• Kommentare
• DTD Anweisungen
• Procession Instructions - eingebettete PHP Anweisungen

Wichtig ist, das man die Arbeitsweise von Expat versteht. Expat untersucht ein XML Dokument zeilenweise. Aufgrund dessen muss das Dokument Zeile für Zeile, mit Hilfe einer Schleife von Expat geparst werden.

Expat erkennt das öffnende Element, z.B. <daten>, und übergibt es an die definierte Funktion für öffnende Elemente. Darauf entdeckt er den Inhalt dazwischen. Ist dies einfacher Text, dann wird dieser an die entsprechende Funktion überreicht, die die Inhalte behandelt. Diese Inhalte, die nicht weiter in andere Tags verschachtelt sind, nennt man CDATA, Character Data. Zum Schluss wird das schließende Element gefunden, und entsprechend über die definierte Funktion behandelt.

Nun sollten wir uns die zur Verfügung stehenden Funktionen betrachten.


Funktion Beschreibung
xml_parser_create(encoding) Erzeugt einen neuen XML-Parser.
xml_parser_create_ns(encoding [,seperator]) Erzeugt einen neuen XML-Parser. Optional kann ein seperator festgelegt werden, sollte dieser Parameter nicht gesetzt werden, ist der default seperator ein Doppelpunkt (:).
xml_set_element_handler(parser, callback start_element_handler, callback end_element_handler) Die definierter Funktion wird ausgeführt sobald der Parser einXML-Element erreicht oder eines verlässt. Start- und End-Tags werden getrennt verarbeitet.
xml_set_character_data_handler(parser,callback handler) Diese Funktion bearbeitet sämtliche Zeichen, die nicht als Tag gelten. Das betrifft auch Whitespaces.
xml_set_processing_instruction_handler(parser, callback handler) Hiermit werden die einleitenden Tags, wie
xml_set_default_handler(parser,callback handler) Diese Funktion wird ausgelöst, wenn sich keine andere für ein Ereignis zuständig fühlt.
xml_set_unparsed_entity_decl_handler(parser,callback handler) Diese Funktion bearbeitet nicht geparste Einheiten (NDATA).
xml_set_notation_decl_handler(parser,callback handler) Eine Notations-Deklaration wird hiermit bearbeitet.
xml_set_external_entity_ref_handler(parser,callback handler) Wenn eine externe Referenz gefunden wird, ist diese Funktion zuständig.
xml_parse(parser,data [,is_final]) Die Funktion beginnt mit dem Parsen eines XML-Dokuments.
xml_get_error_code(parser) Die Funktion gibt die Fehlernummern aus.
xml_error_string(code) Die Funktion gibt die Fehlermeldungen aus.
xml_get_current_line_number(parser) Die Funktion gibt die aktuell vom Parser untersuchte Zeile des XML-Dokuments aus.
xml_get_current_column_number(parser) Die Funktion gibt die aktuell vom Parser untersuchte Spalte des XML-Dokuments aus.
xml_get_current_byte_index(parser) Die Funktion gibt den aktuellen Byte-Index des XML-Dokuments aus.
xml_parser_free(parser) Die Funktion gibt einen Parser wieder frei.
xml_parser_set_option(parser,option) Die Funktion setzt diverse Optionen.
xml_parser_get_option(parser,option) Die Funktion liest Optionen ein.
xml_parser_object(parser,object) Die Funktion ermöglicht es Ihnen den Parser bei Objekten einzusetzen.
utf8_decode(data) Die Funktion konvertiert eine UTF-8-Zeichenkette nach ISO-8859-1.
utf8_encode(data) Die Funktion konvertiert eine ISO-8859-1-Zeichenkette nach UTF-8.



 


Eigenarten von XML
 






© 2001-2005 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de