XMLParser
用于创建XML文件解析器的低级类。
描述
这个类可以作为制作自定义XML解析器的基础。由于XML是一个非常灵活的标准,这个接口也是低层次的,可被应用于任何可能的模式。
方法
get_attribute_count ( ) const | |
get_attribute_name ( int idx ) const | |
get_attribute_value ( int idx ) const | |
get_current_line ( ) const | |
get_named_attribute_value ( String name ) const | |
get_named_attribute_value_safe ( String name ) const | |
get_node_data ( ) const | |
get_node_name ( ) const | |
get_node_offset ( ) const | |
get_node_type ( ) | |
has_attribute ( String name ) const | |
is_empty ( ) const | |
open_buffer ( PoolByteArray buffer ) | |
read ( ) | |
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
参数中的索引指定的属性名称。
获取由idx
参数中的索引指定的属性值。
- int get_current_line ( ) const
获取被解析文件中的当前行(目前未实现)。
通过名称获取当前元素的某个属性的值。如果该元素没有该属性,将引发一个错误。
通过名称获取当前元素的某个属性值。如果没有找到该属性,将返回空的String。
- String get_node_data ( ) const
获取文本节点的内容。若在任何其他类型的节点中,这将引发一个错误。
- String get_node_name ( ) const
获取当前元素节点的名称。如果当前节点类型既不是NODE_ELEMENT也不是NODE_ELEMENT_END,将引发一个错误。
- int get_node_offset ( ) const
获取当前节点从文件或缓冲区开始处的字节偏移量。
- NodeType get_node_type ( )
获取当前节点的类型。与NodeType常量比较。
检查当前元素是否有某个属性。
- bool is_empty ( ) const
检查当前元素是否为空,这只适用于完全空的标签,例如<element\>
。
打开一个XML文件进行解析。这将返回一个错误代码。
- Error open_buffer ( PoolByteArray buffer )
打开一个XML原始缓冲区进行解析。这将返回一个错误代码。
- Error read ( )
读取文件的下一个节点。这将返回一个错误代码。
将缓冲区光标移动到某一偏移量,注,从开始位置,并在那里读取下一个节点。这将返回一个错误代码。
- void skip_section ( )
跳过当前部分。如果该节点包含其他元素,它们将被忽略,光标将跳转到当前元素的结尾处。