Thread XML-Parser 2 Datei (5 answers)
Opened by Henri at 2015-04-08 18:19

Gast Henri
 2015-04-09 18:11
#180614 #180614
Hallo Leute, ich drucke mich anders aus, hier ist ein XML-Datei , die mit hilfe der Perl-Code kann ich es parser, das untere code gibt mir alle Attributen name als parser, jetzt wenn sie die XML-Datei anschauen, der 7te parameter hat keine Attribut-name, ich möchte gern beim parser, dass das Code mir alle name zurückgibt und an der 7te stelle, wo es keine Attribut name gibt "fault" schreiben.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<profile origin="get" version="2.0.1" date="2015-03-19T10:31:57Z">
<Catalog id="sysdumpdevParam" version="2.1">
<Parameter name="prim" value="/dev/lg_dumplv"/>
<Parameter name="second" value="/dev/sysdumpnull"/>
<Parameter name="copy" value="/var/adm/ras"/>
<Parameter name="forced" value="1"/>
<Parameter name="always" value="0"/>
<Parameter name="type" value="fw-assisted" applyType="nextboot" reboot="true"/>
<Parameter value="disallow"/>
</Catalog>
</profile>


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use strict;
use warnings;
use XML::Twig;   



my $FileResult = 'result.txt';
open( my $FhResult, '>', $FileResult ) or die("Unable to open file $FileResult\n$!");



my $twig1= XML::Twig->new(    

               twig_handlers => { 'Parameter' => sub { $, = ",";  
                           
                                                      print $FhResult $_->{'att'}->{'name'}. $, 
                                                      }
                                }
               );
                           
print $FhResult( (split('_', "d100spuptl25e0_datei1.xml",2))[0] . ',' ); 
$twig1->parsefile("d100spuptl25e0_datei1.xml");

Last edited: 2015-04-09 18:15:29 +0200 (CEST)

View full thread XML-Parser 2 Datei