これは、私が疑問に思っている動作を再現するコード サンプルです。
#!/usr/bin/perl
use strict;
use warnings;
use XML::LibXML;
my $myXMLdocument = XML::LibXML::Document->new();
my $myXML = $myXMLdocument->createElement("myXML");
$myXMLdocument->addChild($myXML);
my $element = $myXMLdocument->createElement("element");
$myXML->addChild($element);
my $node = $myXMLdocument->createElement("node");
$element->addNewChild('', $node);
$node->addNewChild('', $myXMLdocument->createAttribute( "key" => "value"));
print "$myXMLdocument->toString(2)\n";
出力 :
XML::LibXML::Document=SCALAR(0x8f5a6f8)->toString(2)
これは、 によって渡されるドキュメント構造のある種のハンドルであることを理解していますXML::LibXML
。
toString
では、人間が読める XML にシリアル化しないのはなぜでしょうか?
私は非常にナイーブかもしれませんXML::LibXML
; BashのエコーでランダムなXMLを吐き出す代わりに、これを使用するのはこれが初めてです。