• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • php7教程
  • MySQL手册
  • apache手册
  • 位置: php7教程 -> php7外部扩展库

    XMLReader类

    XmlReader允许您从流或者XML文档中访问XML数据。这个类提供了对XML数据快速、非缓存、只读、只向前的访问方式。

    此扩展需要 libxml PHP 扩展。这表示需要使用--enable-libxml,尽管这将隐式完成因为 libxml 是缺省开启的。

    安装

    XMLReader扩展最初是PHP 5的PECL扩展。它后来从PHP 5.1.0开始被移动到PHP源代码(捆绑),并在PHP 5.1.2以后默认启用.

    此扩展默认为启用,编译时可通过下列选项禁用:--disable-xmlreader

    XMLReader类

    (PHP 5 >= 5.1.0, PHP 7)

    XMLReader扩展是一个XML Pull解析器。读卡器充当一个光标,在文档流上前进并在途中的每个节点处停止。

    XMLReader 
    {
    	/* 常量 */
    	const int NONE = 0 ;
    	const int ELEMENT = 1 ;
    	const int ATTRIBUTE = 2 ;
    	const int TEXT = 3 ;
    	const int CDATA = 4 ;
    	const int ENTITY_REF = 5 ;
    	const int ENTITY = 6 ;
    	const int PI = 7 ;
    	const int COMMENT = 8 ;
    	const int DOC = 9 ;
    	const int DOC_TYPE = 10 ;
    	const int DOC_FRAGMENT = 11 ;
    	const int NOTATION = 12 ;
    	const int WHITESPACE = 13 ;
    	const int SIGNIFICANT_WHITESPACE = 14 ;
    	const int END_ELEMENT = 15 ;
    	const int END_ENTITY = 16 ;
    	const int XML_DECLARATION = 17 ;
    	const int LOADDTD = 1 ;
    	const int DEFAULTATTRS = 2 ;
    	const int VALIDATE = 3 ;
    	const int SUBST_ENTITIES = 4 ;
    	/* 属性 */
    	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 ;
    	/* 方法 */
    	public close ( void ) : bool
    	public expand ([ DOMNode $basenode ] ) : DOMNode
    	public getAttribute ( string $name ) : string
    	public getAttributeNo ( int $index ) : string
    	public getAttributeNs ( string $localName , string $namespaceURI ) : string
    	public getParserProperty ( int $property ) : bool
    	public isValid ( void ) : bool
    	public lookupNamespace ( string $prefix ) : string
    	public moveToAttribute ( string $name ) : bool
    	public moveToAttributeNo ( int $index ) : bool
    	public moveToAttributeNs ( string $localName , string $namespaceURI ) : bool
    	public moveToElement ( void ) : bool
    	public moveToFirstAttribute ( void ) : bool
    	public moveToNextAttribute ( void ) : bool
    	public next ([ string $localname ] ) : bool
    	public open ( string $URI [, string $encoding [, int $options = 0 ]] ) : bool
    	public read ( void ) : bool
    	public readInnerXml ( void ) : string
    	public readOuterXml ( void ) : string
    	public readString ( void ) : string
    	public setParserProperty ( int $property , bool $value ) : bool
    	public setRelaxNGSchema ( string $filename ) : bool
    	public setRelaxNGSchemaSource ( string $source ) : bool
    	public setSchema ( string $filename ) : bool
    	public xml ( string $source [, string $encoding [, int $options = 0 ]] ) : bool
    }
    

    属性

    • $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

    预定义常量

    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