Thread XML mit unterschiedlichen Knoteninhalten parsen (12 answers)
Opened by schnerd at 2012-07-19 18:32

schnerd
 2012-07-20 08:27
#160082 #160082
User since
2012-07-19
4 Artikel
BenutzerIn
[default_avatar]
Hi,

anbei noch einmal das Skript:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/perl
# Module verwenden
use XML::Simple;
use Data::Dumper;

# Bearbeitungsdatei definieren
my $path = "dump.xml";

# Bearbeitungsdatei einlesen und nach Regeln aufbauen um diese dann in while einzeln anzusprechen und abzufragen
my $data = XMLin('dump.xml', KeyAttr => ['Rule_Number']);

# Anzahl der Regeln bestimmen fuer while Funktion
my $tmp = XMLin('dump.xml');
my $count = @{$tmp->{fw_policie}->{rule}->{rule}};

# Zaehlerstart bei 1
my $i = 1;

# WHILE LOOP
while ($i <= $count) {
if ($data->{fw_policie}->{rule}->{rule}->{$i}->{src}->{members}->{reference}) {
print "Quelle: ", $data->{fw_policie}->{rule}->{rule}->{$i}->{src}->{members}->{reference}->{Name}, "\n";
}
elsif ($data->{fw_policie}->{rule}->{rule}->{$i}->{src}->{compound}->{compound}) {
print "Quelle: ", $data->{fw_policie}->{rule}->{rule}->{$i}->{src}->{compound}->{compound}->{Name}, "\n";
}
if ($data->{fw_policie}->{rule}->{rule}->{$i}->{dst}->{members}->{reference}) {
print "Ziel: ", $data->{fw_policie}->{rule}->{rule}->{$i}->{dst}->{members}->{reference}->{Name}, "\n";
}
elsif ($data->{fw_policie}->{rule}->{rule}->{$i}->{dst}->{compound}->{compound}) {
print "Ziel: ", $data->{fw_policie}->{rule}->{rule}->{$i}->{dst}->{compound}->{compound}->{Name}, "\n";
}
print "\n";
$i ++; # INCREMENT THE VARIABLE EACH TIME
}

und das XML als attachment...

Vielen Dank nochmal im Voraus.

schnerd

Anhänge
application/xml
dump.xml

View full thread XML mit unterschiedlichen Knoteninhalten parsen