XMLParser

Inherits: Reference < Object

用于创建XML文件解析器的低级类。

描述

这个类可以作为制作自定义XML解析器的基础。由于XML是一个非常灵活的标准,这个接口也是低层次的,可被应用于任何可能的模式。

方法

int

get_attribute_count ( ) const

String

get_attribute_name ( int idx ) const

String

get_attribute_value ( int idx ) const

int

get_current_line ( ) const

String

get_named_attribute_value ( String name ) const

String

get_named_attribute_value_safe ( String name ) const

String

get_node_data ( ) const

String

get_node_name ( ) const

int

get_node_offset ( ) const

NodeType

get_node_type ( )

bool

has_attribute ( String name ) const

bool

is_empty ( ) const

Error

open ( String file )

Error

open_buffer ( PoolByteArray buffer )

Error

read ( )

Error

seek ( int position )

void

skip_section ( )

枚举

enum NodeType:

  • NODE_NONE = 0 —- 没有节点,未打开文件或缓冲区。

  • NODE_ELEMENT = 1 —- 元素,即标签。

  • NODE_ELEMENT_END = 2 —- 元素的末端。

  • NODE_TEXT = 3 —- 文本节点。

  • NODE_COMMENT = 4 —- 注释节点。

  • NODE_CDATA = 5 —- CDATA 内容。

  • NODE_UNKNOWN = 6 —- 未知节点。

方法说明

  • int get_attribute_count ( ) const

获取当前元素中的属性数量。


获取由idx参数中的索引指定的属性名称。


  • String get_attribute_value ( int idx ) const

获取由idx参数中的索引指定的属性值。


  • int get_current_line ( ) const

获取被解析文件中的当前行(目前未实现)。


通过名称获取当前元素的某个属性的值。如果该元素没有该属性,将引发一个错误。


  • String get_named_attribute_value_safe ( String name ) const

通过名称获取当前元素的某个属性值。如果没有找到该属性,将返回空的String


  • String get_node_data ( ) const

获取文本节点的内容。若在任何其他类型的节点中,这将引发一个错误。


  • String get_node_name ( ) const

获取当前元素节点的名称。如果当前节点类型既不是NODE_ELEMENT也不是NODE_ELEMENT_END,将引发一个错误。


  • int get_node_offset ( ) const

获取当前节点从文件或缓冲区开始处的字节偏移量。


获取当前节点的类型。与NodeType常量比较。


检查当前元素是否有某个属性。


  • bool is_empty ( ) const

检查当前元素是否为空,这只适用于完全空的标签,例如<element\>


打开一个XML文件进行解析。这将返回一个错误代码。


打开一个XML原始缓冲区进行解析。这将返回一个错误代码。


读取文件的下一个节点。这将返回一个错误代码。


将缓冲区光标移动到某一偏移量,注,从开始位置,并在那里读取下一个节点。这将返回一个错误代码。


  • void skip_section ( )

跳过当前部分。如果该节点包含其他元素,它们将被忽略,光标将跳转到当前元素的结尾处。