Thread Ausgabe von XML::Smart
(5 answers)
Opened by zilpzalp at 2013-11-21 20:21
Hi,
ich mache eigentlich einen Bogen um XML und sein Zubehör, hatte aber heute Lust zu knobeln ;-) Nur mit XML::Smart alleine scheint es mir nicht sauber möglich zu sein. Man kann jeder "loc" und "lastmod" ein Array übergeben und neben dem gewünschten String noch einen "Dummy" String mitgeben; dann generiert XML::Smart die gewünschte Struktur. Wichtig ist, dass es innerhalb der Array-Ref mindestens zwei nicht-leere (wahre) Werte gibt, die verarbeitet werden können). Hinterher müsste man dann zusehen, wie man die "Dummy"-Einträge wieder rausbekommt. Recht unschön der Ansatz. Hier eine Lösung, die ein weiteres Modul (XML::Quick) zum Zusammenbauen verwendet: 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 #! /usr/bin/env perl use strict; use warnings; use XML::Quick; use XML::Smart; # Bereite Datenstruktur vor my %hash = ( urlset => { url => [ { loc => "http://www.example.com/page1.html", lastmod => "2013-11-20", }, { loc => "http://www.example.com/page2.html", lastmod => "2013-11-21", }, ], }, ); # neue Sitemap auf Basis der Datenstruktur; xml() stammt von XML::Quick; siehe perldoc XML::Quick my $sitemap = XML::Smart->new(xml(\%hash)); # und raus damit: print $sitemap->data(), "\n"; __END__ Ergebnis: Code: (dl
)
1 <?xml version="1.0" encoding="UTF-8" ?> Last edited: 2013-11-21 23:11:24 +0100 (CET) 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! |