This works (mostly); I found indentation on the root node breaks it but it might be right for what you're doing.
use strict; use warnings; use XML::LibXML; use Test::More tests => 2; my $parser = XML::LibXML->new(); $parser->keep_blanks(1); my $dom_one = $parser->parse_string(xml_one()); is( $dom_one->serialize(), xml_one(), "Serialized xml_one is the same as original" ); my $dom_two = $parser->parse_string(xml_two()); is( $dom_two->serialize(), xml_two(), "Serialized xml_two is the same as original" ); sub xml_one { <<""; <?xml version="1.0"?> <stuff> <andjunk> muhuminah </andjunk> </stuff> } sub xml_two { <<""; <?xml version="1.0"?> <stuff> <andjunk> muhuminah</andjunk> </stuff> } __END__ 1..2 ok 1 - Serialized xml_one is the same as original ok 2 - Serialized xml_two is the same as original
In reply to Re: Updating XML while preserving formatting
by Your Mother
in thread Updating XML while preserving formatting
by John M. Dlugosz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |