use XML::LibXML; $s = "<foo name=bobby><name>robert

"; print "before: $s.\n"; $dom = XML::LibXML->load_xml(string => ""); $dom->findnodes("/root")->[0]->appendText($s); print $dom->serialize; $s2 = $dom->findnodes("//text()")->[0]->data; print "after: $s2.\n";