为什么我的 XML 文件在用 XML::LibXML 生成后是空的
Why is my XML file empty after generating with XML::LibXML
这是我的 perl 脚本
#!/usr/bin/perl
use XML::LibXML;
$doc = XML::LibXML::Document->new;
my $root = $doc->createElement("log");
$root -> setAttribute("time" => "now");
my $tag = $doc->createElement("greeting");
my $value = "hello";
$tag -> appendTextNode($value);
$root -> appendChild($tag);
$doc -> toFile('test.xml');
然而,输出文件test.xml只包含这一行:
<?xml version="1.0"?>
我认为这意味着 xml 文件已创建但未向其中添加任何内容。我没有收到任何错误,所以我不知道去哪里找。我做错了什么?
您需要将您创建的元素添加到文档中:
$doc->setDocumentElement($root);
这是我的 perl 脚本
#!/usr/bin/perl
use XML::LibXML;
$doc = XML::LibXML::Document->new;
my $root = $doc->createElement("log");
$root -> setAttribute("time" => "now");
my $tag = $doc->createElement("greeting");
my $value = "hello";
$tag -> appendTextNode($value);
$root -> appendChild($tag);
$doc -> toFile('test.xml');
然而,输出文件test.xml只包含这一行:
<?xml version="1.0"?>
我认为这意味着 xml 文件已创建但未向其中添加任何内容。我没有收到任何错误,所以我不知道去哪里找。我做错了什么?
您需要将您创建的元素添加到文档中:
$doc->setDocumentElement($root);