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 unter PECL zur Verfügung.
Ab PHP 5.1 ist sie standardmäßig enthalten und aktiviert. Sie wird
durch die Option --enable-xmlreader
(oder --with-xmlreader
vor PHP 5.1)
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
Tabelle 1.
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.
Warnung |
Seit PHP 5.1 verwendet der XMLReader Klassenkonstanten. Frühere Versionen verwenden globale Konstanten in Form von XMLREADER_ELEMENT. |
Tabelle 2. XMLReader Knotentypen
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 |
Tabelle 3. Parseroptionen
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 |
Zurück | Zum Anfang | Weiter |
xmlrpc_set_type | Nach oben | XMLReader->close() |