Perl/XML::Writer
De Astillas.net
< Perl
Módulo | XML::Writer |
---|---|
Versión | 0.615-1 |
Uso | Producción de datos |
Propósito | Permite crear textos en formato XML. |
Conceptos
Este módulo permite crear documentos en XML de forma programática. Mantiene constantemente la pista de dónde está dentro de una estructura XML y verifica que ésta sea correcta sintácticamente.
Su empleo requiere de los siguientes pasos:
- Crear una instancia de la clase con los parámetros generales
- Añadir encabezados declarativos
- Repetir los siguientes pasos mientras sea necesario:
- Abrir etiquetas
- Añadir elementos
- Cerrar etiquetas
- Validar el documento
El texto XML que el módulo va generando en el proceso se envía a la salida estándar del proceso a menos que se defina un lugar al que enviarlo. Dicho lugar puede ser:
- Un objeto heredero de IO::Handle
- Una referencia a un valor escalar
- Un objeto que disponga del método print
Referencia rápida
use XML::Writer;
my $output = '';
# Creamos la instancia indicando que el texto
# lo añada a la variable $output, que indente
# la salida con cuatro espacios y que inserte un
# salto de línea tras cada elemento
my $xml = XML::Writer->new( OUTPUT => \$output,
DATA_MODE => 1,
DATA_INDENT => 4, );
# Enviamos los encabezados mínimos junto con la
# codificación a emplear
$xml->xmlDecl("UTF-8");
# Abrimos una etiqueta
$xml->startTag('registro');
# Enviamos algunos elementos
$xml->dataElement( nombre => 'Victor' );
$xml->dataElement( email => 'victor@astillas.net' );
# Cerramos (él recuerda la última etiqueta abierta)
$xml->endTag();
# y validamos que sólo exista un elemento 'document'
# y las etiquetas abiertas estén cerradas
$xml->end();
# Mostramos el resultado
say $output;
El resultado de lo anterior es algo como:
<?xml version="1.0" encoding="UTF-8"?>
<registro>
<nombre>Victor</nombre>
<email>victor@astillas.net</email>
</registro>