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 function close(): true
public function expand(?DOMNode $baseNode = null): DOMNode|false
public static function fromStream(
    resource $stream,
    ?string $encoding = null,
    int $flags = 0,
    ?string $documentUri = null
): static
public static function fromString(string $source, ?string $encoding = null, int $flags = 0): static
public static function fromUri(string $uri, ?string $encoding = null, int $flags = 0): static
public function getAttribute(string $name): ?string
public function getAttributeNo(int $index): ?string
public function getAttributeNs(string $name, string $namespace): ?string
public function getParserProperty(int $property): bool
public function isValid(): bool
public function lookupNamespace(string $prefix): ?string
public function moveToAttribute(string $name): bool
public function moveToAttributeNo(int $index): bool
public function moveToAttributeNs(string $name, string $namespace): bool
public function moveToElement(): bool
public function moveToFirstAttribute(): bool
public function moveToNextAttribute(): bool
public function next(?string $name = null): bool
public static function open(string $uri, ?string $encoding = null, int $flags = 0): XMLReader
public function open(string $uri, ?string $encoding = null, int $flags = 0): bool
public function read(): bool
public function readInnerXml(): string
public function readOuterXml(): string
public function readString(): string
public function setParserProperty(int $property, bool $value): bool
public function setRelaxNGSchema(?string $filename): bool
public function setRelaxNGSchemaSource(?string $source): bool
public function setSchema(?string $filename): bool
public static function XML(string $source, ?string $encoding = null, int $flags = 0): XMLReader
public function 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