[linux] Re: perl vraag: tree lezen.
Hugo van der Kooij
hvdkooij op vanderkooij.org
Wo Mrt 18 17:20:19 CET 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hugo van der Kooij wrote:
> Hugo van der Kooij wrote:
>> Beetje OT. Maar zo storm loopt het nu ook weer niet.
>
>> Ik heb weer eens een perl uitdaging en het kwartje wil niet vallen.
>> Een beetje het probleem als programmeren geen dagelijkse bezigheid is.
>
> Ik heb het fiks vereenvoudigd en daar ga ik al nat. Knap suf maar het
> resultaat is niet wat ik verwacht.
....
> Maar wat wel werkt:
>
> #!/usr/bin/perl
> use Data::Dumper;
> $Data::Dumper::Indent = 0;
> $erree = ['een','twee','drie'];
> print "\$erree[0] = ".$erree->[0]."\n";
> print Dumper( $erree )."\n";
>
> Want dat geeft als uitvoer:
>
> $erree[0] = een
> $VAR1 = ['een','twee','drie'];
>
> Daar ga ik eens verder mee experimenteren.
En dan wordt het iets als:
$parser = XML::Parser->new( Style => 'Tree' );
my $tree = $parser->parsefile( $xmlfile );
my $island = $tree->[1]->[4];
my $islandId = $island->[4]->[2];
my $islandName = $island->[8]->[2];
my $islandResource = $island->[12]->[2];
my $islandWonder = $island->[16]->[2];
my $islandX = $island->[20]->[4]->[2];
my $islandY = $island->[20]->[8]->[2];
Het is voornamelijk haakjes onthouden en dan velden tellen.
Deze methode is overigens waardeloos als je XML uitvoer niet een
herhalend identiek patroon heeft.
Over hoe ik dat zou moeten aanpakken heb ik me niet gebogen. Ik heb nu
een parser om 10000 xml files naar een SQL database om te zetten.
Hugo.
- --
hvdkooij op vanderkooij.org http://hugo.vanderkooij.org/
PGP/GPG? Use: http://hugo.vanderkooij.org/0x58F19981.asc
A: Yes.
>Q: Are you sure?
>>A: Because it reverses the logical flow of conversation.
>>>Q: Why is top posting frowned upon?
Bored? Click on http://spamornot.org/ and rate those images.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAknBH0IACgkQBvzDRVjxmYEV+gCdH+lJNSPJIXc2+nBE3T3j+I3T
uOYAn1DpUFgBg68wGnH6qwsvvv+T2JYq
=N1l7
-----END PGP SIGNATURE-----
More information about the Linux
mailing list