• Publicidad

Cómo puedo obtener esta estructura XML con el XML::Simple

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Cómo puedo obtener esta estructura XML con el XML::Simple

Notapor danimera » 2008-07-23 11:53 @537

Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
<?xml version="1.0" encoding="UTF-8"?>
<gallery frameColor="0xFFFFFF" frameWidth="15" imagePadding="20" displayTime="6" enableRightClickOpen="true">
<image>
   <url>images/wide.jpg</url>
   <caption><![CDATA[<font size="50">Example Gallery</font><br>An example large format <u><a href="http://www.airtightinteractive.com/projects/autoviewer">AutoViewer</a></u> gallery.]]></caption>
   <width>700</width>
   <height>465</height>
</image>
</gallery>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


He intentado algunas cosas pero resulta que la galería Flash que uso necesita leerlo de esa forma, es para traer unas imágenes que tengo en una carpeta para mostrarlas según la fecha, pero ahora me conformo con generar ese XML y que el SFW me lo reconozca.

Lo que he logrado me muestra este código:

Sintáxis: [ Descargar ] [ Ocultar ]
  1. <head><title>Error in CGI Application</title></head> 
  2. <body><h1>CGI Error</h1>The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:<p><p><pre><?xml version='1.0' standalone='yes'?> 
  3. <gallery> 
  4. <image> 
  5. <caption>22 de mayo</caption> 
  6. <height>600</height> 
  7. <url>upload/22mayo.jpg</url> 
  8. <width>800</width> 
  9. </image> 
  10. <image> 
  11. <caption>25 de mayo</caption> 
  12. <height>600</height> 
  13. <url>upload/25mayo.jpg</url> 
  14. <width>800</width> 
  15. </image> 
  16. </gallery> 
  17. </pre> 
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Notapor explorer » 2008-07-23 16:33 @731

El siguiente código genera el primer XML que muestras
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use XML::Simple qw(:strict);

my $xs = XML::Simple->new;
my $xml;

$xml->{enableRightClickOpen} = 'true';
$xml->{frameColor          } = '0xFFFFFF';
$xml->{displayTime         } = 6;
$xml->{imagePadding        } = 20;
$xml->{frameWidth          } = 15;

$xml->{image}->{width}->[0]       = 700;
$xml->{image}->{caption}->[0]     = '<![CDATA[<font size="50">Example Gallery</font><br>An example large format <u><a href="http://www.airtightinteractive.com/projects/autoviewer">AutoViewer</a></u> gallery.]]';
$xml->{image}->{url}->[0]         = 'images/wide.jpg';
$xml->{image}->{height}->[0]      = 465;

print $xs->XMLout( $xml,
    RootName => 'gallery',
    NoEscape => 1,
    KeyAttr  => {},
    XMLDecl  => '<?xml version="1.0" encoding="UTF-8"?>',
);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Pero se ve que hay cosas que no encajan muy bien con la lógica deseada.

Es mucho mejor usar otro módulo. En CPAN hay unos cuantos módulos para generar XML de forma fácil.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor danimera » 2008-07-28 09:43 @446

Hola explorer. Mira que intento con el código que envías... pero la galería flash no reconoce este xml generado. Cuando coloco en la configuración del swf en la url el fichero .xml me funciona bien, pero cuando trato de poner el .pl que se supone me devuelve el xml generado no me muestra nada.

Fuera de eso, si accedo directamente a este script me retorna:
Código: Seleccionar todo
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:




 
    Example GalleryAn example large format AutoViewer gallery.]]
    465
    images/wide.jpg
    700


Lo que pasa igual con el código que hice para generar esta estructura.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor danimera » 2008-07-28 20:42 @904

Ya lo pude solucionar... solo me faltaba imprimir las cabeceras. Lo logré con un print header;.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados