Manuel PHP
Précédent |  | Suivant

# CLXXIII. XMLReader functions

# Introduction

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.

# Installation

L'extension XMLReader est disponible dans PECL pour PHP 5.0 et est inclus et activée par défaut dans PHP 5.1. Elle peut être activée en ajoutant l'argument --enable-xmlreader (ou --with-xmlreader avant 5.1) à votre ligne de configuration. L'extension libxml est requise.

# Classes pré-définies

## XMLReader

### Méthodes

- XMLReader->close() - Ferme l'entrée 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

### Propriétés

Tableau 1.

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

# Constantes pré-définies

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.

Avertissement
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 2. 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 3. 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

Précédent | Sommaire | Suivant
xmlrpc_set_type | Niveau supérieur | XMLReader->close()