# XMLReader

# Introduction

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.

## Encoding

It is important to note that internally, libxml uses the UTF-8 encoding and as such, the encoding of the retrieved contents will always be in UTF-8 encoding.

- Installing/Configuring
  - Requirements
  - Installation
- XMLReader — The XMLReader class
  - XMLReader::close — Close the XMLReader input
  - XMLReader::expand — Returns a copy of the current node as a DOM object
  - XMLReader::fromStream — Creates an XMLReader from a stream to read from
  - XMLReader::fromString — Creates an XMLReader from an XML string
  - XMLReader::fromUri — Creates an XMLReader from a URI to read from
  - XMLReader::getAttribute — Get the value of a named attribute
  - XMLReader::getAttributeNo — Get the value of an attribute by index
  - XMLReader::getAttributeNs — Get the value of an attribute by localname and URI
  - XMLReader::getParserProperty — Indicates if specified property has been set
  - XMLReader::isValid — Indicates if the parsed document is valid
  - XMLReader::lookupNamespace — Lookup namespace for a prefix
  - XMLReader::moveToAttribute — Move cursor to a named attribute
  - XMLReader::moveToAttributeNo — Move cursor to an attribute by index
  - XMLReader::moveToAttributeNs — Move cursor to a named attribute
  - XMLReader::moveToElement — Position cursor on the parent Element of current Attribute
  - XMLReader::moveToFirstAttribute — Position cursor on the first Attribute
  - XMLReader::moveToNextAttribute — Position cursor on the next Attribute
  - XMLReader::next — Move cursor to next node skipping all subtrees
  - XMLReader::open — Set the URI containing the XML to parse
  - XMLReader::read — Move to next node in document
  - XMLReader::readInnerXml — Retrieve XML from current node
  - XMLReader::readOuterXml — Retrieve XML from current node, including itself
  - XMLReader::readString — Reads the contents of the current node as a string
  - XMLReader::setParserProperty — Set parser options
  - XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema
  - XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema
  - XMLReader::setSchema — Validate document against XSD
  - XMLReader::XML — Set the data containing the XML to parse

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open