CLVIII. 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 for PHP 5.0 and is included in PHP 5.1 by default. It and can be enabled by adding the argument --with--xmlreader to your configure line. The libxml extension is required.

预定义类

XMLReader

方法

属性

表格 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

预定义常量

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

表格 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

表格 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 Subsitute 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