QuoteWas klappt denn bei dir nicht?danach wieder als XML Datei ausgeben und dabei möglichst nahe an der Source XML Datei sein.
Quote? Dass die Ausgabe möglichst dem Original ähnlich ist?nahe an der Source XML Datei
QuoteWas klappt denn bei dir nicht?
QuoteWas bedeutetQuote? Dass die Ausgabe möglichst dem Original ähnlich ist?nahe an der Source XML Datei
2011-08-11T12:36:19 pqvielleicht ist XML::LibXML da besser geeignet. es bietet eine methode toString, die dir den baum wieder als XML ausgibt.
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
sub to_string { my ($node, $level) = @_; my $xml = ''; my $indent = ' ' x $level; if ($node->{type} eq 't') { $xml .= $node->{name} } elsif ($node->{type} eq 'e') { $xml .= "$indent<$node->{name}>\n"; for my $child (@{ $node->{content} || [] }) { $xml = to_string($child, $level + 1); } $xml .= "$indent</$node->{name}>\n"; } } my $xml; $xml .= to_string($_) for @$easytree;
2011-08-11T15:09:12 Allaman[...]
XML::LibXML schaut für mich auf den ersten (und zweiten) Blick nach sehr viel Einarbeitung aus, was ich gerne vermeiden möchte :)
[...]
use XML::LibXML;
my $doc = XML::LibXML->load_xml(location => 'foo.xml');
$doc->toFile('foo.xml', 0);
my ($node) = $doc->findnodes('/foo/bar/baz');
$node->removeChildNodes(); $node->appendChild($doc->createTextNode('blubb'));
2011-08-10T19:09:55 Allaman[...]
ich möchte mit XML::Parser::EasyTree eine Xml parsen [...] und danach wieder als XML Datei ausgeben und dabei möglichst nahe an der Source XML Datei sein.
[...]
QuoteDa die Repräsentation der Daten, die CPAN:XML::Parser::EasyTree im Speicher erzeugt, keinerlei Informationen über Kommentare, Einrückungen, Art der Entitätsreferenzen etc. enthält, ist es bereits theoretisch unmöglich, den ursprünglichen XML-Quellcode originalgetreu aus diesem Datenmodell zu rekonstruieren.