use warnings; use strict; use XML::LibXML; my $doc = XML::LibXML::Document->new; my $el1 = $doc->createElementNS("namespace0","aaa"); $el1->setNamespace("namespace1","p1",0); $el1->setNamespace("namespace2","p2",0); $doc->setDocumentElement($el1); my $el2 = $doc->createElement("bbb"); $el2->setNamespace("namespace2","p2",1); $el1->appendChild($el2); my $el3 = $doc->createElementNS("namespace0","ccc"); $el1->appendChild($el3); my $el4 = $doc->createElement("p1:ddd"); $el3->appendChild($el4); print $doc->toString(1); __END__