Using xml Syntax Highlighting
- <videos id_playList="v1a">
- <video id="1a" description="d1a">
- <title>"t1a"</title>
- </video>
- <video id="2a" description="d2a">
- <title>"t2a"</title>
- </video>
- </videos>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
En este caso hay dos elementos. Lo que ocurre es que si solo hay un elemento, XML::Simple lo trata de modo diferente y no me crea el mismo hash. Tendría que modificar el archivo xml para que lo trate igual:
Using perl Syntax Highlighting
- #!/usr/bin/perl
- use warnings;
- use strict;
- use feature qw(switch say);
- use Data::Dumper;
- use XML::Simple;
- my $xml1 = '
- <videos id_playList="v1a">
- <video id="1a" description="d1a">
- <title>"t1a"</title>
- </video>
- <video id="2a" description="d2a">
- <title>"t2a"</title>
- </video>
- </videos>';
- my $xml2 = '
- <videos id_playList="v1b">
- <video id="1b" description="d1b">
- <title>"t1b"</title>
- </video>
- </videos>';
- my $xml3 = '
- <videos id_playList="v1c">
- <video>
- <t1c id="1c" description="d1c">
- </t1c>
- </video>
- </videos>';
- my $xml_caps = XML::Simple->new();
- my $res1 = $xml_caps->XMLin("$xml1", KeyAttr => { 'video' => 'title' });
- my $xml_caps2 = XML::Simple->new();
- my $res2 = $xml_caps2->XMLin("$xml2", KeyAttr => {'video' => 'title'} );
- my $xml_caps3 = XML::Simple->new();
- my $res3 = $xml_caps2->XMLin("$xml3");
- print Dumper $res1;
- print "\n";
- print Dumper $res2;
- print "\n";
- print Dumper $res3;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
¿Alguna solución? Gracias.