我想问你的是,当我想整理附件时使用:
my $tidy_doc = XML::Tidy->new("filename"=>"/Users/.../tidy.xml") ;
$tidy_doc->tidy() ;
$tidy_doc->write() ;
工作得很好,但是当我想使用它来整理它时:
my $tidy_doc = XML::Tidy->new("xml"=>$doc) ;
我收到以下错误:
bash-3.2# ./_demo.pl
Use of uninitialized value $xmld in substitution (s///) at /Library/Perl/5.10.0/XML/Tidy.pm line 59.
Use of uninitialized value $xmld in pattern match (m//) at /Library/Perl/5.10.0/XML/Tidy.pm line 60.
not well-formed (invalid token) at line 1, column 21, byte 21:
XML::LibXML::Document=SCALAR(0x100805140)
====================^
at /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level/XML/Parser.pm line 187
如果你能帮助我解决这个问题,我将不胜感激。
PS。.xml 文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<n_skalis>
<perfdata collection="GigabitEthernet0/0">
<info cmd="show interface" detail="GigabitEthernet0/0">
<input_rate>-1</input_rate><output_rate>-1</output_rate></info>
<info cmd="show interface" detail="GigabitEthernet0/0/1">
<output_rate>-1</output_rate></info>
</perfdata>
<perfdata collection="GigabitEthernet1/1">
<info cmd="show interface" detail="GigabitEthernet1/1">
<input_rate>-1</input_rate><output_rate>-1</output_rate></info>
<info cmd="show interface" detail="GigabitEthernet1/1/0">
<output_rate>-1</output_rate></info>
</perfdata>
<perfdata collection="self">
<info cmd="show buffers summary" detail="">
<big_pool>-1</big_pool><small_pool>-1</small_pool></info>
</perfdata>
</n_skalis>
谢谢你
PS。$doc 定义如下:
my $doc = $parser->parse_file("$XMLDEV"."config/".$node_dns."/STATS.xml") ;
if( !$doc ) { warn "---> non well-formed XML file: $@" ; next ; }
my $root = $doc->getDocumentElement ;