我是XML::Twig的新手。如何更改所有空元素以使用空元素标签 ( <foo/>
) 而不是开始标签和结束标签组合 ( <foo></foo>
)?
输入:
<book>
<given-names>Maurice<xref ref-type="fn" rid="fnI_1"></xref></given-names>
<colspec colname="col1" colnum="1"></colspec>
<entry align="left"><p></p></entry>
</book>
我需要输出为:
<book>
<given-names>Maurice<xref ref-type="fn" rid="fnI_1"/></given-names>
<colspec colname="col1" colnum="1"/>
<entry align="left"><p/></entry>
</book>
我试过:
use XML::Twig;
my $xml = XML::Twig->new(twig_handlers => {
'xref' => sub {$_->set_tag('#EMPTY'),},
},
pretty_print => 'indented',
);
$xml->parse('sample.xml');
$xml->print;
}
但我无法处理它。如何在没有内容标签的情况下全局更改为空标签?我该如何改变?