XMLReader
XMLReader::close
XMLReader
PHP Manual

# The XMLReader class

## 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

XMLReader
class XMLReader {
/* Constants */
const int $XMLReader::NONE =0 ;
const int $XMLReader::ELEMENT =1 ;
const int $XMLReader::ATTRIBUTE =2 ;
const int $XMLReader::TEXT =3 ;
const int $XMLReader::CDATA =4 ;
const int $XMLReader::ENTITY_REF =5 ;
const int $XMLReader::ENTITY =6 ;
const int $XMLReader::PI =7 ;
const int $XMLReader::COMMENT =8 ;
const int $XMLReader::DOC =9 ;
const int $XMLReader::DOC_TYPE =10 ;
const int $XMLReader::DOC_FRAGMENT =11 ;
const int $XMLReader::NOTATION =12 ;
const int $XMLReader::WHITESPACE =13 ;
const int $XMLReader::SIGNIFICANT_WHITESPACE =14 ;
const int $XMLReader::END_ELEMENT =15 ;
const int $XMLReader::END_ENTITY =16 ;
const int $XMLReader::XML_DECLARATION =17 ;
const int $XMLReader::LOADDTD =1 ;
const int $XMLReader::DEFAULTATTRS =2 ;
const int $XMLReader::VALIDATE =3 ;
const int $XMLReader::SUBST_ENTITIES =4 ;
/* Properties */
public readonly int $attributeCount ;
public readonly string $baseURI ;
public readonly int $depth ;
public readonly bool $hasAttributes ;
public readonly bool $hasValue ;
public readonly bool $isDefault ;
public readonly bool $isEmptyElement ;
public readonly string $localName ;
public readonly string $name ;
public readonly string $namespaceURI ;
public readonly int $nodeType ;
public readonly string $prefix ;
public readonly string $value ;
public readonly string $xmlLang ;
/* Methods */
bool close ( void )
DOMNode expand ( void )
string getAttribute ( string `$name` )
string getAttributeNo ( int `$index` )
string getAttributeNs ( string `$localName` , string `$namespaceURI` )
bool getParserProperty ( int `$property` )
bool isValid ( void )
bool lookupNamespace ( string `$prefix` )
bool moveToAttribute ( string `$name` )
bool moveToAttributeNo ( int `$index` )
bool moveToAttributeNs ( string `$localName` , string `$namespaceURI` )
bool moveToElement ( void )
bool moveToFirstAttribute ( void )
bool moveToNextAttribute ( void )
bool next ([ string `$localname` ] )
bool open ( string `$URI` [, string `$encoding` [, int `$options` ]] )
bool read ( void )
bool setParserProperty ( int `$property` , bool `$value` )
bool setRelaxNGSchema ( string `$filename` )
bool setRelaxNGSchemaSource ( string `$source` )
bool xml ( string `$source` [, string `$encoding` [, int `$options` ]] )
}

## 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 thenode

value

  The text value of the node

xmlLang

  The xml:lang scope which the node resides

## Predefined Constants

## XMLReader Node Types

`XMLReader::NONE`

  No node type

`XMLReader::ELEMENT`

  Start element

`XMLReader::ATTRIBUTE`

  Attribute node

`XMLReader::TEXT`

  Text node

`XMLReader::CDATA`

  CDATA node

`XMLReader::ENTITY_REF`

  Entity Reference node

`XMLReader::ENTITY`

  Entity Declaration node

`XMLReader::PI`

  Processing Instruction node

`XMLReader::COMMENT`

  Comment node

`XMLReader::DOC`

  Document node

`XMLReader::DOC_TYPE`

  Document Type node

`XMLReader::DOC_FRAGMENT`

  Document Fragment node

`XMLReader::NOTATION`

  Notation node

`XMLReader::WHITESPACE`

  Whitespace node

`XMLReader::SIGNIFICANT_WHITESPACE`

  Significant Whitespace node

`XMLReader::END_ELEMENT`

  End Element

`XMLReader::END_ENTITY`

  End Entity

`XMLReader::XML_DECLARATION`

  XML Declaration node

## XMLReader Parser Options

`XMLReader::LOADDTD`

  Load DTD but do not validate

`XMLReader::DEFAULTATTRS`

  Load DTD and default attributes but do not validate

`XMLReader::VALIDATE`

  Load DTD and validate while parsing

`XMLReader::SUBST_ENTITIES`

  Substitute entities and expand references

## Table of Contents

- XMLReader::close — Close the XMLReader input
- XMLReader::expand — Returns a copy of the current node as a DOM object
- 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::setParserProperty — Set or Unset parser options
- XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema
- XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema
- XMLReader::XML — Set the data containing the XML to parse

XMLReader
XMLReader::close
XMLReader
PHP Manual