Manual do PHP
Anterior |  | Próxima

# CLXXXI. XMLReader functions

# Introdução

The XMLReader extension is an XML Pull parser. The reader acts as a cursor going forward on the document stream and stopping at each node on the way.

# Instalação

The XMLReader extension is available in PECL as of PHP 5.0.0 and is included and enabled as of PHP 5.1.0 by default. It can be enabled by adding the argument `--enable-xmlreader` (or `--with-xmlreader` before 5.1.0) to your configure line. The libxml extension is required.

# Classes pré-definidas

## XMLReader

### Métodos

- XMLReader::close - Close the XMLReader input

- XMLReader::expand - Export current node to a DOM node

- XMLReader::getAttribute - Get value of attribute by name

- XMLReader::getAttributeNo - Get value of attribute by position

- XMLReader::getAttributeNs - Get value of attribute by name and URI

- XMLReader::getParserProperty - Indicates if parser property is set or not

- XMLReader::isValid - Indicates if document is valid

- XMLReader::lookupNamespace - Get URI for prefix in scope of node

- XMLReader::moveToAttribute - Positions reader on named attribute

- XMLReader::moveToAttributeNo - Positions reader on attribute by index

- XMLReader::moveToAttributeNs - Position reader on attribute by name and URI

- XMLReader::moveToElement - Move to parent element of current attribute node

- XMLReader::moveToFirstAttribute - Move to first attribute of node

- XMLReader::moveToNextAttribute - Move to next attribute of node

- XMLReader::next - Move to next element skipping children

- XMLReader::open - Set URI to be parsed

- XMLReader::read - Move to next node in stream

- XMLReader::setParserProperty - Set parser property

- XMLReader::setRelaxNGSchema - Set URI of RelaxNG schema to validate against

- XMLReader::setRelaxNGSchemaSource - Set string containing RelaxNG schema to validate against

- XMLReader::XML - Set string of data to be parsed

### Propriedades

Tabela 1.

Name | Type | Read-only | Description
--- | --- | --- | ---
attributeCount | int | yes | The number of attributes on the node
baseURI | string | yes | The base URI of the node
depth | int | yes | Depth of the node in the tree starting at 0
hasAttributes | bool | yes | Indicates if node has attributes
hasValue | bool | yes | Indicates if node has a text value
isDefault | bool | yes | Indicates if attribute is defaulted from DTD
isEmptyElement | bool | yes | Indicates if node is an empty element tag
localName | string | yes | The local name of the node
name | string | yes | The qualified name of the node
namespaceURI | string | yes | The URI of the namespace associated with the node
nodeType | int | yes | The node type for the node
prefix | string | yes | The prefix of the namespace associated with the node
value | string | yes | The text value of the node
xmlLang | string | yes | The xml:lang scope which the node resides

# Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Atenção
XMLReader uses class constants since PHP 5.1. Prior releases use global constants in the form `XMLREADER_ELEMENT`.

Tabela 2. XMLReader Node Types

Constant | Value | Description
--- | --- | ---
`XMLReader::NONE` (integer) | 0 | No node type
`XMLReader::ELEMENT` (integer) | 1 | Start element
`XMLReader::ATTRIBUTE` (integer) | 2 | Attribute node
`XMLReader::TEXT` (integer) | 3 | Text node
`XMLReader::CDATA` (integer) | 4 | CDATA node
`XMLReader::ENTITY_REF` (integer) | 5 | Entity Reference node
`XMLReader::ENTITY` (integer) | 6 | Entity Declaration node
`XMLReader::PI` (integer) | 7 | Processing Instruction node
`XMLReader::COMMENT` (integer) | 8 | Comment node
`XMLReader::DOC` (integer) | 9 | Document node
`XMLReader::DOC_TYPE` (integer) | 10 | Document Type node
`XMLReader::DOC_FRAGMENT` (integer) | 11 | Document Fragment node
`XMLReader::NOTATION` (integer) | 12 | Notation node
`XMLReader::WHITESPACE` (integer) | 13 | Whitespace node
`XMLReader::SIGNIFICANT_WHITESPACE` (integer) | 14 | Significant Whitespace node
`XMLReader::END_ELEMENT` (integer) | 15 | End Element
`XMLReader::END_ENTITY` (integer) | 16 | End Entity
`XMLReader::XML_DECLARATION` (integer) | 17 | XML Declaration node

Tabela 3. XMLReader Parser Options

Constant | Value | Description
--- | --- | ---
`XMLReader::LOADDTD` (integer) | 1 | Load DTD but do not validate
`XMLReader::DEFAULTATTRS` (integer) | 2 | Load DTD and default attributes but do not validate
`XMLReader::VALIDATE` (integer) | 3 | Load DTD and validate while parsing
`XMLReader::SUBST_ENTITIES` (integer) | 4 | Substitute entities and expand references

Anterior | Principal | Próxima
xmlrpc_set_type | Acima | XMLReader::close