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.
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.
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
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 |
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 |