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 ( )
跳过当前部分。如果该节点包含其他元素,它们将被忽略,光标将跳转到当前元素的结尾处。