Thread Ausgabe von XML::Smart (5 answers)
Opened by zilpzalp at 2013-11-21 20:21

zilpzalp
 2013-11-21 20:21
#172145 #172145
User since
2012-08-04
4 Artikel
BenutzerIn
[default_avatar]
Hi!

Ich möchte mittels XML::Smart eine XML-Sitemap erstellen. Ich verwende hierzu folgenden Code (vereinfacht):

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl

use strict;
use warnings;

use XML::Smart;

my $sitemap = XML::Smart->new();
$sitemap=$sitemap->{'urlset'};

push(@{$sitemap->{'url'}},
{loc => "http://www.example.com/page1.html", lastmod => "2013-11-20"});
push(@{$sitemap->{'url'}},
{loc => "http://www.example.com/page2.html", lastmod => "2013-11-21"});

print $sitemap->data(), "\n";


Die Ausgabe sieht dann wie folgt aus:

Code: (dl )
1
2
3
4
5
[...]
<urlset>
<url lastmod="2013-11-20" loc="http://www.example.com/page1.html"/>
<url lastmod="2013-11-21" loc="http://www.example.com/page2.html"/>
</urlset>


Die Sitemap-Parser mögen wohl die "flache" Ausgabe der url-Tags nicht. Ich würde gerne folgende Ausgabe produzieren:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
[...]
<urlset>
<url>
<loc>http://www.example.com/page1.html</loc>
<lastmod>2013-11-20</lastmod>
</url>
<url>
<loc>http://www.example.com/page2.html</loc>
<lastmod>2013-11-21</lastmod>
</url>
</urlset>


Habt Ihr eine Idee, wie ich XML::Smart dazu bewege?

Danke und Gruß, zilpzalp
Last edited: 2013-11-21 20:22:45 +0100 (CET)

View full thread Ausgabe von XML::Smart