Esta es la primera de las clases para Xml. Nos permite generar un fichero Xml con el contenido de una lista.
Para empezar hay que contruir el objeto VXmlWriter con new pasandole como parametro un objeto de la clase VRegisterList.
El codec por defecto es “UTF-8″. Para cambiarlo por ejemplo a UTF-16, llamar a la funcion setCodec( “UTF-16″ ). Hay una lista de los codes disponibles más abajo.
Si no se usa la función setDocType(“mytype”) no se incluirá la cabecera opcional <!DOCTYPE mytype>.
Por defecto el texto es formateado con saltos de linea e indentación. Para cancelarlo usar la función setAutoFormatting( false ). Con la función setAutoFormattingIndent( n ) ajustamos el numero de espacios o tabs de indentación. Si usamos valores positivos para n representan espacios y si son negativos tabs. Por defecto la indentación son 4 espacios.
Con la función addInitialTag( “tag”) le añadimos uno o varios tags, llamando varias veces a la función, que envuelven a los registros de la lista. Lo normal es usar una con el nombre de la tabla.
Con la función setRowTag( “tag” ) le decimos la etiqueta que ha de envolver a cada registro. Si no se usa por defecto es “row”.
A continuación con las funciones addField( “tagCol”, “IDCOMPUESTOCAMPO”) y addFormula( “tagCol”, “Formula” ) le añadimos tantas columnas como queramos por registro.
Y ya solo nos queda llamar a la función writeFile( “file.xml” ); para que nos lo escriba en disco.
Funciones:
Constructor
Inicializacion
- void setCodec( String szCodecName );
- void setDocType( String szType );
- void setAutoFormatting( Boolean bSet );
- void setAutoFormattingIndent( Number nSpacesOrTabs );
- void addInitialTag( String szTag );
- void setRowTag( String szTag );
- void addField( String szTag, String szIdCampoCompuesto );
- void addFormula( String szTag, String szFormula );
Operaciones
- Boolean writeFile( String szPath );
- String writeToString();
Codec Names:
- Apple Roman
- Big5
- Big5-HKSCS
- CP949
- EUC-JP
- EUC-KR
- GB18030-0
- IBM 850
- IBM 866
- IBM 874
- ISO 2022-JP
- ISO 8859-1 to 10
- ISO 8859-13 to 16
- Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml
- JIS X 0201
- JIS X 0208
- KOI8-R
- KOI8-U
- MuleLao-1
- ROMAN8
- Shift-JIS
- TIS-620
- TSCII
- UTF-8
- UTF-16
- UTF-16BE
- UTF-16LE
- UTF-32
- UTF-32BE
- UTF-32LE
- Windows-1250 to 1258
- WINSAMI2
Ejemplos:
1: Exportar una lista a xml
var xml = new VXmlWriter( theRegisterListIn );
xml.setDocType( "myType" );
xml.addInitialTag( "Corredores" );
xml.setRowTag( "row" );
xml.addField( "Nombre", "NAME" );
xml.addField( "Equipo", "EQUIPO.NAME" );
xml.addField( "Pais", "PAIS.NAME" );
....
xml.writeFile( "filename.xml" );
Produce el siguiente fichero xml

2: Exportar una lista de cualquier tabla con todos sus campos
var xml = new VXmlWriter( theRegisterListIn );
xml.addInitialTag( theRegisterListIn.tableInfo().id() );
xml.setRowTag( "row" );
var ti = theRegisterListIn.tableInfo();
for (var col=0; col < ti.fieldCount(); ++col)
xml.addField( ti.fieldName(col), ti.fieldId(col) );
xml.writeFile( "filename.xml" );