XMLParser

Inherits: Reference < Object

Clase de bajo nivel para crear analizadores de archivos XML.

Descripción

Esta clase puede servir como base para hacer analizadores XML personalizados. Dado que XML es un estándar muy flexible, esta interfaz es de bajo nivel, por lo que puede aplicarse a cualquier esquema posible.

Métodos

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 ( )

Enumeraciones

enum NodeType:

  • NODE_NONE = 0 --- No hay ningún nodo (ningún archivo o buffer abierto).

  • NODE_ELEMENT = 1 --- Elemento (etiqueta).

  • NODE_ELEMENT_END = 2 --- Fin del elemento.

  • NODE_TEXT = 3 --- Nodo de texto.

  • NODE_COMMENT = 4 --- Nodo de comentarios.

  • NODE_CDATA = 5 --- Contenido CDATA.

  • NODE_UNKNOWN = 6 --- Nodo desconocido.

Descripciones de Métodos

  • int get_attribute_count ( ) const

Obtiene la cantidad de atributos en el elemento actual.


  • String get_attribute_name ( int idx ) const

Obtiene el nombre del atributo especificado por el índice en el argumento idx.


  • String get_attribute_value ( int idx ) const

Obtiene el valor del atributo especificado por el índice en el argumento idx.


  • int get_current_line ( ) const

Obtiene la línea actual en el archivo analizado (actualmente no implementado).


Obtiene el valor de un determinado atributo del elemento actual por su nombre. Esto provocará un error si el elemento no tiene tal atributo.


  • String get_named_attribute_value_safe ( String name ) const

Obtiene el valor de un determinado atributo del elemento actual por su nombre. Esto devolverá una String vacía si el atributo no se encuentra.


  • String get_node_data ( ) const

Obtiene el contenido de un nodo de texto. Esto provocará un error en cualquier otro tipo de nodo.


  • String get_node_name ( ) const

Obtiene el nombre del nodo del elemento actual. Esto provocará un error si el tipo de nodo actual no es ni NODE_ELEMENT ni NODE_ELEMENT_END.


  • int get_node_offset ( ) const

Obtiene el desvío de bytes del nodo actual desde el comienzo del archivo o buffer.


Obtiene el tipo de nodo actual. Compara con las constantes de NodeType.


Comprueba si el elemento actual tiene un cierto atributo.


  • bool is_empty ( ) const

Comprueba si el elemento actual está vacío (esto sólo funciona para las etiquetas completamente vacías, por ejemplo, <element \>).


Abre un archivo XML para el análisis. Esto devuelve un código de error.


Abre un búfer XML en bruto para el análisis. Esto devuelve un código de error.


Lee el siguiente nodo del archivo. Esto devuelve un código de error.


Mueve el cursor de la memoria intermedia a un determinado desplazamiento (desde el principio) y lee el siguiente nodo allí. Esto devuelve un código de error.


  • void skip_section ( )

Se salta la sección actual. Si el nodo contiene otros elementos, estos serán ignorados y el cursor irá al cierre del elemento actual.