Thread XML::Twig (4 answers)
Opened by Gast at 2007-12-05 17:32

jan
 2007-12-06 14:09
#103502 #103502
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich bin zwar auch noch nicht lange mit XML::Twig am arbeiten aber von der herangehensweise liegt es mir mehr als andere, daher setze ich mich damit auseinander ... nur als warnung deshalb, mein code ist sicher nicht der optimalste ;)

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
use strict;
use XML::Twig;

my $twig = new XML::Twig( TwigRoots => { 'server' => \&output_srv });
$twig->parsefile("myfile.xml");

sub output_srv {
    my( $tree, $elem ) = @_;
    my $status = $elem->att('status') . "\n";
    my $hostname  = $elem->findvalue('hostname') || '';
    my $os  = $elem->findvalue('rules/rule[@name="os"]') || '';
    print "Host: $hostname    Status: $status    OS: $os\n";
}


gets the job done. allerdings solltest du wohl möglich austesten, ob nicht mehrere hostname-elemente etc vorkommen können, falls das nicht generell ausgeschlossen werden kann.

View full thread XML::Twig