1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<importrecord>
<dateiname>24845_2874846.fmd</dateiname>
<aktionen>
<transaktion>
<aktion>
<parameter>
<attribut attributname="aktion"></attribut>
<attribut attributname="bereich"></attribut>
<attribut attributname="dokumenttyp"></attribut>
<attribut attributname="voname"></attribut>
<attribut attributname="gz"></attribut>
<attribut attributname="betreff"></attribut>
....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#!/usr/bin/perl use strict; use warnings; use XML::Simple; my $xml_file = '24845_2874846.fmd'; my $xml = XMLin( $xml_file, KeepRoot => 1, ForceArray => 1, ); $xml->{importrecord}->[1]->{aktionen}->[0]->{transaktion}->[0]->{parameter}->[0]->{aktion}->[0]->{attribut}->[0] = 'Anlegen'; XMLout( $xml, KeepRoot => 1, NoAttr => 1, OutputFile => $xml_file, );
1
2
3
4
5
6
<importrecord>
<dateiname>24845_2874846.fmd</dateiname>
<aktionen>
<transaktion>
<aktion>
<parameter>
1
2
3
4
5
6
$xml->{importrecord}->[1]
->{aktionen}->[0]
->{transaktion}->[0]
->{parameter}->[0]
->{aktion}->[0]
->{attribut}->[0] = 'Anlegen';
1
2
3
4
5
6
XMLout(
$xml,
KeepRoot => 1,
NoAttr => 1, ############## WARUM? Es gibt doch Attribute?
OutputFile => $xml_file,
);
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
#!/usr/bin/perl use strict; use warnings; use XML::Simple; my $in_file = "in.xml"; my $xml_file = 'out.xml'; my $xml = XMLin( $in_file, KeepRoot => 1, ForceArray => 1, ); # added ->{content}, so now attributes are preserved and stay $xml->{importrecord}->[0]->{aktionen}->[0]->{transaktion}->[0]->{aktion}->[0]->{parameter}->[0]->{attribut}->[0]->{content} = 'Anlegen'; XMLout( $xml, KeepRoot => 1, NoAttr => 0, OutputFile => $xml_file, );
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<importrecord>
<aktionen>
<transaktion>
<aktion>
<parameter>
<attribut attributname="aktion">Anlegen</attribut>
<attribut attributname="bereich" />
<attribut attributname="dokumenttyp" />
<attribut attributname="voname" />
<attribut attributname="gz" />
<attribut attributname="betreff" />
</parameter>
</aktion>
</transaktion>
</aktionen>
<dateiname>24845_2874846.fmd</dateiname>
</importrecord>
1 2 3 4 5 6 7 8
$xml->{importrecord}->[0] ->{aktionen}->[0] ->{transaktion}->[0] ->{aktion}->[0] ->{parameter}->[0] ->{attribut}->[0] ->{content} = 'Anlegen';
Guest janusWenn ich sowas sehe, frag ich mich ob XML-Designer überhaupt eine Vorstellung davon haben, wie die resultierende Datenstruktur aussieht. Wahrscheinlich eher nein. So ein Stuss aber auch!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<importrecord>
<aktionen>
<transaktion>
<aktion>
<parameter>
<attribut attributname="aktion" foo="bar">Anlegen</attribut>
<attribut attributname="bereich" />
<attribut attributname="dokumenttyp" />
<attribut attributname="voname" />
<attribut attributname="gz" />
<attribut attributname="betreff" />
</parameter>
</aktion>
</transaktion>
</aktionen>
<dateiname>24845_2874846.fmd</dateiname>
</importrecord>