Thread [Simple::XML -> XMLout] Attribut-Problem (3 answers)
Opened by burnersk at 2008-03-25 11:54

burnersk
 2008-03-25 11:54
#107440 #107440
User since
2008-03-25
83 Artikel
BenutzerIn
[default_avatar]
Hallo.

Ich habe folgende Struktur:
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
23
24
25
26
27
28
29
30
31
$reviews = {
  'body' => {
    'review' => [
      {
        'medshort' => 'Auto Bild',
        'medium' => 'Auto Bild 40/2001 5. Oktober',
        'remarks' => 'Notensystem Schnee: 3+ Nässe: 2+ Trocken: 2|Stärken:sehrgutes Handlingverhalten bei Nässe, gute Sicherheitsreserven bei Aquaplaning, angenehmes Fahrverhalten auf trockener Bahn. Schwächen: durchschnittliches Abschneiden bei den Tests auf verschneiter Piste|',
        'id' => '1136',
        'rank' => undef,
        'note' => undef
      },
      {
        'medshort' => 'ADAC',
        'medium' => 'ADAC motorwelt  10/2000',
        'remarks' => '**|Bestnote auf Nässe, gut auf trockener Fahrbahn, etwas schwächer auf Schnee (Abwertung), relativ lautes Aussengeräusch|Högsta betyg på blöt väg (relativt opåverkad av vattenplaning). Riktigt bra värde även på torrare vägar, på snö, och på is. ',
        'id' => '1137',
        'rank' => '*****',
        'note' => '2'
      }
    ]
  },
  'header' => {
    'errstr' => undef,
    'search' => {
      'profil' => 'W 240 Snowsport',
      'marke' => 'Pirelli',
      'groesse' => 'Wi|205|55|16|V'
    },
    'rows' => '2'
  }
};


Diese soll nun via XMLout in eine XML Struktur exportiert weden:
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
<reviews>
<body>
<review id="1136">
<medshort>Auto Bild</medshort>
<medium>Auto Bild 40/2001 5. Oktober</medium>
<remarks>Notensystem Schnee: 3+ Nässe: 2+ Trocken: 2|Stärken:sehrgutes Handlingverhalten bei Nässe, gute Sicherheitsreserven bei Aquaplaning, angenehmes Fahrverhalten auf trockener Bahn. Schwächen: durchschnittliches Abschneiden bei den Tests auf verschneiter Piste|</remarks>
<rank />
<note />
</review>
<review id="1137">
<medshort>ADAC</medshort>
<medium>ADAC motorwelt 10/2000</medium>
<remarks>**|Bestnote auf Nässe, gut auf trockener Fahrbahn, etwas schwächer auf Schnee (Abwertung), relativ lautes Aussengeräusch|Högsta betyg på blöt väg (relativt opåverkad av vattenplaning). Riktigt bra värde även på torrare vägar, på snö, och på is. </remarks>
<rank>*****</rank>
<note>2</note>
</review>
</body>
<header>
<errstr />
<search>
<profil>W 240 Snowsport</profil>
<marke>Pirelli</marke>
<groesse>Wi|205|55|16|V</groesse>
</search>
<rows>2</rows>
</header>
</reviews>


Ich habe es schon verzweifelt versucht. Entweder XMLout setzt alles als Attribut oder alles als einzelne Tags.
Leider muss ich mich an diese XML Vorgabe halten.
Momentan sieht mein XMLout Objekt so aus:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
my $xml = XMLout($return,
                         'AttrIndent' => '1',
                         'KeepRoot' => '1',
                         'KeyAttr' => 'id',
                         'NoAttr' => '0',
                         'NoEscape' => '0',
                         'NoIndent' => '0',
                         'NoSort' => '0',
                         'RootName' => 'reviews',
                         'SuppressEmpty' => '0',
                         'XMLDecl' => '1',
                        );

View full thread [Simple::XML -> XMLout] Attribut-Problem