L'extension XMLReader un analyseur XML Pull. Le lecteur fonctionne comme un curseur qui avance sur le flux du document et s'arrête à chaque noeud sur le chemin.
L'extension XMLReader est disponible dans PECL pour PHP 5.0.0 et est incluse et activée par défaut dans PHP 5.1.0. Elle peut être activée en ajoutant l'argument --enable-xmlreader (ou --with-xmlreader avant 5.1.0) à votre ligne de configuration. L'extension libxml est requise.
XMLReader::close - Ferme l'objet XMLReader
XMLReader::expand - Exporte le noeud courant comme un noeud DOM
XMLReader::getAttribute - Récupère une valeur d'attribut par nom
XMLReader::getAttributeNo - Récupère une valeur d'attribut par position
XMLReader::getAttributeNs - Récupère une valeur d'attribut par nom et URI
XMLReader::getParserProperty - Indique si la propriété de l'analyseur est fixée ou non
XMLReader::isValid - Indique si le document est valide
XMLReader::lookupNamespace - Récupère l'URI du préfixe dans la portée du noeud
XMLReader::moveToAttribute - Positionne le lecteur sur l'attribut par nom
XMLReader::moveToAttributeNo - Positionne le lecteur sur l'attribut par index
XMLReader::moveToAttributeNs - Positionne le lecteur sur l'attribut par nom et URI
XMLReader::moveToElement - Déplace l'élément parent du noeud de l'attribut courant
XMLReader::moveToFirstAttribute - Déplace au premier attribut du noeud
XMLReader::moveToNextAttribute - Déplace au prochain attribut du noeud
XMLReader::next - Déplace à l'élément suivant en sautant les enfants
XMLReader::open - Fixe l'URI à être analysé
XMLReader::read - Déplace au prochain noeud dans le flux
XMLReader::setParserProperty - Fixe une propriété de l'analyseur
XMLReader::setRelaxNGSchema - Fixe l'URI du schéma RelaxNG pour validation
XMLReader::setRelaxNGSchemaSource - Fixe la chaîne de caractères contenant le schéma RelaxNG pour validation
XMLReader::XML - Fixe la chaîne de caractères de données pour être analysée
Tableau 340.
Nom | Type | Lecture seule | Description |
---|---|---|---|
attributeCount | int | oui | Le nombre d'attributs dans le noeud |
baseURI | string | oui | La base URI du noeud |
depth | int | oui | Profondeur du noeud dans l'arbre démarrant à 0 |
hasAttributes | bool | oui | Indique si le noeud a des attributs |
hasValue | bool | oui | Indique si le noeud a une valeur de texte |
isDefault | bool | oui | Indique si l'attribut est par défaut à partir du DTD |
isEmptyElement | bool | oui | Indique si le noeud est un élément vide |
localName | string | oui | Le nom local du noeud |
name | string | oui | Le noeud qualifié du noeud |
namespaceURI | string | oui | L'URI de l'espace de nom associé avec le noeud |
nodeType | int | oui | Le type de noeud pour le noeud |
prefix | string | oui | Le préfixe de l'espace de nom associé avec le noeud |
value | string | oui | La valeur du texte du noeud |
xmlLang | string | oui | La portée xml:lang dans lequel le noeud réside |
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
XMLReader utilise des constantes de classe depuis PHP 5.1. Les mises à jour précédentes utilisent les constantes globales sous la forme de XMLREADER_ELEMENT.
Tableau 341. Types de Noeud XMLReader
Constante | Valeur | Description |
---|---|---|
XMLReader::NONE (entier) | 0 | Non un type de noeud |
XMLReader::ELEMENT (entier) | 1 | Début d'élément |
XMLReader::ATTRIBUTE (entier) | 2 | Noeud attribut |
XMLReader::TEXT (entier) | 3 | Noeud texte |
XMLReader::CDATA (entier) | 4 | Noeud CDATA |
XMLReader::ENTITY_REF (entier) | 5 | Noeud Référence Entité |
XMLReader::ENTITY (entier) | 6 | Noeud Déclaration Entité |
XMLReader::PI (entier) | 7 | Noeud Traitement d'Instruction |
XMLReader::COMMENT (entier) | 8 | Noeud commentaire |
XMLReader::DOC (entier) | 9 | Noeud document |
XMLReader::DOC_TYPE (entier) | 10 | Noeud Type document |
XMLReader::DOC_FRAGMENT (entier) | 11 | Noeud Fragment Document |
XMLReader::NOTATION (entier) | 12 | Noeud notation |
XMLReader::WHITESPACE (entier) | 13 | Noeud blanc (espace) |
XMLReader::SIGNIFICANT_WHITESPACE (entier) | 14 | Noeud blanc (espace) important |
XMLReader::END_ELEMENT (entier) | 15 | Fin d'élément |
XMLReader::END_ENTITY (entier) | 16 | Fin d'entité |
XMLReader::XML_DECLARATION (entier) | 17 | Noeud Déclaration XML |
Tableau 342. Options Analyseur XMLReader
Constante | Valeur | Description |
---|---|---|
XMLReader::LOADDTD (entier) | 1 | Charge DTD mais ne valide pas |
XMLReader::DEFAULTATTRS (entier) | 2 | Charge DTD et attributs par défaut mais ne valide pas |
XMLReader::VALIDATE (entier) | 3 | Charge DTD et valide pendant l'analyse |
XMLReader::SUBST_ENTITIES (entier) | 4 | Substitue les entités et agrandit les références |