XMLReader-Funktionen
Einführung
Die XMLReader-Erweiterung ist ein fortschreitender XML-Parser. Der Reader agiert wie ein Zeiger, der einen Datenstrom durchläuft und jeden vorbeikommenden Knoten der Reihe nach verarbeitet.
Installation
Die XMLReader-Erweiterung steht für PHP 5.0.0 unter PECL zur Verfügung. Ab PHP 5.1.0 ist sie standardmäßig enthalten und aktiviert. Sie wird durch die Option --enable-xmlreader (oder --with-xmlreader vor PHP 5.1.0) aktiviert. Die libxml Erweiterung wird vorausgesetzt.
Vordefinierte Klassen
XMLReader
Methoden
-
XMLReader->close - XMLReader-Eingabe beenden
-
XMLReader->expand - Aktuellen Knoten in einen DOM-Knoten exportieren
-
XMLReader->getAttribute - Gibt den Wert eines Attributes nach Namen zurück
-
XMLReader->getAttributeNo - Gibt den Wert eines Attributes nach Position zurück
-
XMLReader->getAttributeNs - Gibt den Wert eines Attributes nach Namen und URI zurück
-
XMLReader->getParserProperty - Anzeigen, ob Parsereigenschaften gesetzt sind oder nicht
-
XMLReader->isValid - Anzeigen, ob ein valides Dokument vorliegt
-
XMLReader->lookupNamespace - Gibt URI für einen Präfix im Knotenbereich zurück
-
XMLReader->moveToAttribute - Reader positionieren nach Attributnamen
-
XMLReader->moveToAttributeNo - Reader positionieren nach Attributnamen und Position
-
XMLReader->moveToAttributeNs - Reader positionieren nach Attributnamen und URI
-
XMLReader->moveToElement - Reader positionieren auf Elternelement des aktuellen Attributknotens
-
XMLReader->moveToFirstAttribute - Reader positionieren auf erstes Attribut im Knoten
-
XMLReader->moveToNextAttribute - Reader positionieren auf nächstes Attribut im Knoten
-
XMLReader->next - Reader positionieren auf nächstes Element, Kinder überspringen
-
XMLReader->open - URI setzen, die geparst werden soll
-
XMLReader->read - Reader positionieren auf nächstes Element
-
XMLReader->setParserProperty - Parsereigenschaft setzen
-
XMLReader->setRelaxNGSchema - RelaxNG-Schema-URI setzen, gegen die validiert werden soll
-
XMLReader->setRelaxNGSchemaSource - Zeichenkette setzen, die RelaxNG-Schemadaten enthält, gegen die validiert werden soll
-
XMLReader->XML - Zeichenkette setzen, deren Inhalt geparst werden soll
Eigenschaften
Name | Typ | nur lesen | Beschreibung |
---|---|---|---|
attributeCount | int | ja | Anzahl Attribute eines Knotens |
baseURI | string | ja | Basis URI des Knotens |
depth | int | ja | Knotentiefe im Strukturbaum beginnend bei 0 |
hasAttributes | bool | ja | Zeigt an, ob ein Knoten Attribute besitzt |
hasValue | bool | ja | Zeigt an, ob ein Knoten einen Textwert besitzt |
isDefault | bool | ja | Zeigt an, ob ein Knoten durch DTD disqualifiziert wurde |
isEmptyElement | bool | ja | Zeigt an, ob ein Knoten ein Leerelement ist |
localName | string | ja | Lokaler Knotenname |
name | string | ja | Qualifizierter Knotenname |
namespaceURI | string | ja | URI des Namensraum dem der Knoten zugehört |
nodeType | int | ja | Knotentyp |
prefix | string | ja | Präfix des Namensraum dem der Knoten zugehört |
value | string | ja | Textwert des Knotens |
xmlLang | string | ja | Der xml:lang Bereich dem der Knoten angehört |
Vordefinierte Konstanten
Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.
Seit PHP 5.1 verwendet der XMLReader Klassenkonstanten. Frühere Versionen verwenden globale Konstanten in Form von XMLREADER_ELEMENT.
Konstante | Werte | Beschreibung |
---|---|---|
XMLReader::NONE (integer) | 0 | Kein Knotentype |
XMLReader::ELEMENT (integer) | 1 | Element |
XMLReader::ATTRIBUTE (integer) | 2 | Attribut |
XMLReader::TEXT (integer) | 3 | Text |
XMLReader::CDATA (integer) | 4 | CDATA Knoten |
XMLReader::ENTITY_REF (integer) | 5 | Entitäten-Referenz |
XMLReader::ENTITY (integer) | 6 | Entität-Deklarationsknoten |
XMLReader::PI (integer) | 7 | Verarbeitungsvorschrift |
XMLReader::COMMENT (integer) | 8 | Kommentarknoten |
XMLReader::DOC (integer) | 9 | Dokumentknoten |
XMLReader::DOC_TYPE (integer) | 10 | Dokumententypknoten |
XMLReader::DOC_FRAGMENT (integer) | 11 | Dokumentteilknoten |
XMLReader::NOTATION (integer) | 12 | Notationsknoten |
XMLReader::WHITESPACE (integer) | 13 | Leerzeichenknoten |
XMLReader::SIGNIFICANT_WHITESPACE (integer) | 14 | Bedeutende Leerzeichenknoten |
XMLReader::END_ELEMENT (integer) | 15 | Schlußelement |
XMLReader::END_ENTITY (integer) | 16 | Schlußentität |
XMLReader::XML_DECLARATION (integer) | 17 | XML-Beschreibungsknoten |
Konstante | Wert | Beschreibung |
---|---|---|
XMLReader::LOADDTD (integer) | 1 | DTD laden, aber nicht validieren |
XMLReader::DEFAULTATTRS (integer) | 2 | DTD und Standardattribute laden, aber nicht validieren |
XMLReader::VALIDATE (integer) | 3 | DTD laden und während dem Parsen validieren |
XMLReader::SUBST_ENTITIES (integer) | 4 | Entitäten ersetzen und Referenzen erweitern |
Inhaltsverzeichnis
- XMLReader->close — XMLReader-Eingabe beenden
- XMLReader->expand — Gibt eine Kopie des aktullen Knotens als DOM-Objekt zurück
- XMLReader->getAttribute — Gibt den Wert eines Attributes nach Namen zurück
- XMLReader->getAttributeNo — Gibt den Wert eines Attributes nach Position zurück
- XMLReader->getAttributeNs — Gibt den Wert eines Attributes nach lokalem Namen und URI zurück
- XMLReader->getParserProperty — Zeigt an, ob die angegebene Eigenschaft gesetzt wurde
- XMLReader->isValid — Zeigt an, ob das geparste Dokument valide ist
- XMLReader->lookupNamespace — Prüfen, ob ein Namensbereich für einen Präfix vorhanden ist
- XMLReader->moveToAttribute — Zeiger auf benanntes Attribut setzen
- XMLReader->moveToAttributeNo — Zeiger auf Attribut nach Position setzen
- XMLReader->moveToAttributeNs — Zeiger auf benanntes Attribut im Namensraum setzen
- XMLReader->moveToElement — Zeiger positionieren auf das Elternelement des aktuellen Attributes
- XMLReader->moveToFirstAttribute — Zeiger auf erstes Attribut setzen
- XMLReader->moveToNextAttribute — Zeiger auf nächstes Attribut setzen
- XMLReader->next — Zeiger auf nächstes Element setzen und Kinder überspringen
- XMLReader->open — URI angeben, die auf XML-Inhalt verweist, der geparst werden soll
- XMLReader->read — Zeiger auf das nächste Element setzen
- XMLReader->setParserProperty — Parser-Optionen setzen
- XMLReader->setRelaxNGSchema — Dateiname oder URI des RelaxNG-Schema setzen
- XMLReader->setRelaxNGSchemaSource — Zeichenkette setzen, die RelaxNG-Schemadaten enthält
- XMLReader->XML — Zeichenkette setzen, deren Inhalt geparst werden soll