CLXXXI. XMLReader functions

简介

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.

安装

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.

预定义类

XMLReader

方法

属性

表 1.

NameTypeRead-onlyDescription
attributeCountintyesThe number of attributes on the node
baseURIstringyesThe base URI of the node
depthintyesDepth of the node in the tree starting at 0
hasAttributesboolyesIndicates if node has attributes
hasValueboolyesIndicates if node has a text value
isDefaultboolyesIndicates if attribute is defaulted from DTD
isEmptyElementboolyesIndicates if node is an empty element tag
localNamestringyesThe local name of the node
namestringyesThe qualified name of the node
namespaceURIstringyesThe URI of the namespace associated with the node
nodeTypeintyesThe node type for the node
prefixstringyesThe prefix of the namespace associated with the node
valuestringyesThe text value of the node
xmlLangstringyesThe xml:lang scope which the node resides

预定义常量

以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。

警告

XMLReader uses class constants since PHP 5.1. Prior releases use global constants in the form XMLREADER_ELEMENT.

表 2. XMLReader Node Types

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

表 3. XMLReader Parser Options

ConstantValueDescription
XMLReader::LOADDTD (integer) 1Load DTD but do not validate
XMLReader::DEFAULTATTRS (integer) 2Load DTD and default attributes but do not validate
XMLReader::VALIDATE (integer) 3Load DTD and validate while parsing
XMLReader::SUBST_ENTITIES (integer) 4Substitute entities and expand references
目录
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