The XMLReader class
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
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.
Class synopsis
Properties
- attributeCount
The number of attributes on the node
- baseURI
The base URI of the node
- depth
Depth of the node in the tree, starting at 0
- hasAttributes
Indicates if node has attributes
- hasValue
Indicates if node has a text value
- isDefault
Indicates if attribute is defaulted from DTD
- isEmptyElement
Indicates if node is an empty element tag
- localName
The local name of the node
- name
The qualified name of the node
- namespaceURI
The URI of the namespace associated with the node
- nodeType
The node type for the node
- prefix
The prefix of the namespace associated with the node
- value
The text value of the node
- xmlLang
The xml:lang scope which the node resides
Predefined Constants
XMLReader Node Types
XMLReader::NONENo node type
XMLReader::ELEMENTStart element
XMLReader::ATTRIBUTEAttribute node
XMLReader::TEXTText node
XMLReader::CDATACDATA node
XMLReader::ENTITY_REFEntity Reference node
XMLReader::ENTITYEntity Declaration node
XMLReader::PIProcessing Instruction node
XMLReader::COMMENTComment node
XMLReader::DOCDocument node
XMLReader::DOC_TYPEDocument Type node
XMLReader::DOC_FRAGMENTDocument Fragment node
XMLReader::NOTATIONNotation node
XMLReader::WHITESPACEWhitespace node
XMLReader::SIGNIFICANT_WHITESPACESignificant Whitespace node
XMLReader::END_ELEMENTEnd Element
XMLReader::END_ENTITYEnd Entity
XMLReader::XML_DECLARATIONXML Declaration node
XMLReader Parser Options
XMLReader::LOADDTDLoad DTD but do not validate
XMLReader::DEFAULTATTRSLoad DTD and default attributes but do not validate
XMLReader::VALIDATELoad DTD and validate while parsing
XMLReader::SUBST_ENTITIESSubstitute entities and expand references
Changelog
| Version | Description |
|---|---|
| 8.4.0 | The class constants are now typed. |
Table of Contents
- 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