Thread XML-Parser 2 Datei
(5 answers)
Opened by Henri at 2015-04-08 18:19
Ich komme auf zwei Ideen; beide ungetestet.
Wenn die Subroutine für jeden Parameter einzeln aufgerufen wird, folgender Schnellschuß: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 my $twig1= XML::Twig->new( twig_handlers => { 'Parameter' => sub { # use 'fault' if name is not defined; Operator '//' is available since perl 5.10.1 my $attr_name = $_->{'att'}->{'name'} // 'fault'; print $FhResult $attr_name . ","; }, }, ); Wenn die Subroutine für alle Parameter aufgerufen wird und $_->{att}->{name} eine Liste liefern würde (was ich derzeit kaum glauben kann), folgender Vorschlag: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 my $twig1= XML::Twig->new( twig_handlers => { 'Parameter' => sub { local $, = ","; my $item = $_; # copy "original" $_ to $item; because map uses $_ as well my @names = map { defined ? $_ : 'fault' } $item->{'att'}->{'name'}; print $FhResult @names, ""; }, }, ); meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |