La clase XMLReader

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Introducción

La extensión XMLReader es un analizador XML. El analizador funciona como un cursor que recorre el documento y se detiene en cada nodo.

Sinopsis de la Clase

class XMLReader {
/* Constantes */
public const int NONE;
public const int ELEMENT;
public const int ATTRIBUTE;
public const int TEXT;
public const int CDATA;
public const int ENTITY_REF;
public const int ENTITY;
public const int PI;
public const int COMMENT;
public const int DOC;
public const int DOC_TYPE;
public const int DOC_FRAGMENT;
public const int NOTATION;
public const int WHITESPACE;
public const int END_ELEMENT;
public const int END_ENTITY;
public const int XML_DECLARATION;
public const int LOADDTD;
public const int DEFAULTATTRS;
public const int VALIDATE;
public const int SUBST_ENTITIES;
/* Propiedades */
public int $depth;
public bool $hasValue;
public string $name;
public int $nodeType;
public string $prefix;
public string $value;
/* Métodos */
public close(): true
public expand(?DOMNode $baseNode = null): DOMNode|false
public static fromStream(
    resource $stream,
    ?string $encoding = null,
    int $flags = 0,
    ?string $documentUri = null
): static
public static fromString(string $source, ?string $encoding = null, int $flags = 0): static
public static fromUri(string $uri, ?string $encoding = null, int $flags = 0): static
public getAttribute(string $name): ?string
public getAttributeNo(int $index): ?string
public getAttributeNs(string $name, string $namespace): ?string
public getParserProperty(int $property): bool
public isValid(): bool
public lookupNamespace(string $prefix): ?string
public moveToAttribute(string $name): bool
public moveToAttributeNo(int $index): bool
public moveToAttributeNs(string $name, string $namespace): bool
public next(?string $name = null): bool
public static open(string $uri, ?string $encoding = null, int $flags = 0): XMLReader
public open(string $uri, ?string $encoding = null, int $flags = 0): bool
public read(): bool
public readString(): string
public setParserProperty(int $property, bool $value): bool
public setRelaxNGSchema(?string $filename): bool
public setSchema(?string $filename): bool
public static XML(string $source, ?string $encoding = null, int $flags = 0): XMLReader
public XML(string $source, ?string $encoding = null, int $flags = 0): bool
}

Propiedades

attributeCount

El número de atributos en el nodo

baseURI

La URI base del nodo

depth

Profundidad del nodo en el árbol comenzando en 0

hasAttributes

Indica si el nodo tiene atributos

hasValue

Indica si el nodo tiene un valor de texto

isDefault

Indica si el atributo es por defecto desde el DTD

isEmptyElement

Indica si el nodo es un elemento vacío

localName

El nombre local del nodo

name

El nombre calificado del nodo

namespaceURI

El URI del espacio de nombres asociado con el nodo

nodeType

El tipo de nodo para el nodo

prefix

El prefijo del espacio de nombres asociado con el nodo

value

El valor de texto del nodo

xmlLang

El ámbito xml:lang en el que reside el nodo

Constantes predefinidas

Tipos de nodo XMLReader

XMLReader::NONE

Ningún tipo de nodo

XMLReader::ELEMENT

Elemento de inicio

XMLReader::ATTRIBUTE

Nodo Atributo

XMLReader::TEXT

Nodo texto

XMLReader::CDATA

Nodo CDATA

XMLReader::ENTITY_REF

Nodo de referencia de entidad

XMLReader::ENTITY

Nodo de declaración de entidad

XMLReader::PI

Nodo de instrucción de proceso

XMLReader::COMMENT

Nodo de comentario

XMLReader::DOC

Nodo documento

XMLReader::DOC_TYPE

Nodo de tipo de documento

XMLReader::DOC_FRAGMENT

Nodo de fragmento de documento

XMLReader::NOTATION

Nodo de notación

XMLReader::WHITESPACE

Nodo "espacio"

XMLReader::SIGNIFICANT_WHITESPACE

Nodo "espacio" significativo

XMLReader::END_ELEMENT

Elemento de fin

XMLReader::END_ENTITY

Entidad de fin

XMLReader::XML_DECLARATION

Nodo de declaración XML

Opciones del analizador XMLReader

XMLReader::LOADDTD

Carga un DTD pero no lo valida

XMLReader::DEFAULTATTRS

Carga un DTD y los atributos por defecto pero no lo valida

XMLReader::VALIDATE

Carga un DTD y valida el documento durante el análisis

XMLReader::SUBST_ENTITIES

Sustituye las entidades y expande las referencias

Historial de cambios

Versión Descripción
8.4.0 Las constantes de clase ahora están tipadas.

Tabla de contenidos