A classe XMLReader

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

Introdução

A extensão XMLReader é um analisador XML Pull. O leitor atua como um cursor que avança no fluxo de documentos e para em cada nó ao longo do caminho.

Resumo da classe

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;
/* Propriedades */
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
}

Propriedades

attributeCount

O número de atributos no nó

baseURI

O URI base do nó

depth

Profundidade do nó na árvore, começando em 0

hasAttributes

Indica se o nó possui atributos

hasValue

Indica se o nó possui um valor de texto

isDefault

Indica se o atributo é definido por padrão a partir do DTD

isEmptyElement

Indica se o nó é uma tag de elemento vazia

localName

O nome local do nó

name

O nome qualificado do nó

namespaceURI

O URI do namespace associado ao nó

nodeType

O tipo de nó para o nó

prefix

O prefixo do namespace associado ao nó

value

O valor de texto do nó

xmlLang

O escopo xml:lang no qual o nó reside

Constantes predefinidas

Tipos de nós XMLReader

XMLReader::NONE

Nenhum tipo de nó

XMLReader::ELEMENT

Elemento inicial

XMLReader::ATTRIBUTE

Nó de atributo

XMLReader::TEXT

Nó de texto

XMLReader::CDATA

Nó CDATA

XMLReader::ENTITY_REF

Nó Referência de Entidade

XMLReader::ENTITY

Nó Declaração de Entidade

XMLReader::PI

Nó de Instrução de Processamento

XMLReader::COMMENT

Nó de Comentário

XMLReader::DOC

Nó de Documento

XMLReader::DOC_TYPE

Nó Tipo de Documento

XMLReader::DOC_FRAGMENT

Nó Fragmento de Documento

XMLReader::NOTATION

Nó Notação

XMLReader::WHITESPACE

Nó de espaço em branco

XMLReader::SIGNIFICANT_WHITESPACE

Nó de espaço em branco significativo

XMLReader::END_ELEMENT

Elemento final

XMLReader::END_ENTITY

Entidade Final

XMLReader::XML_DECLARATION

Nó de Declaração XML

Opções do analisador XMLReader

XMLReader::LOADDTD

Carregar DTD, mas não validar

XMLReader::DEFAULTATTRS

Carregar DTD e atributos padrão, mas não validar

XMLReader::VALIDATE

Carregar DTD e validar enquanto analisa

XMLReader::SUBST_ENTITIES

Substituir entidades e expandir referências

Registro de Alterações

Versão Descrição
8.4.0 As constantes de classe agora são tipadas.

Índice