2016-09-29 62 views
2

在我的输入xml文件中,我们正在做一些perl转换工作。我们需要有缩进的xml文件。因此我们使用模块XML::Twig(简单的方法)进行缩进。如何避免在XML中使用XML :: Twig的属性交换

在Perl代码:

XML::Twig->new(pretty_print => 'indented') 
    ->parsefile($input) 
    ->print_to_file($input); 

输入:
<contrib contrib-type="author" id="U94028797" corresp="yes">

做此功能后,工具已经互换属性在XML元素。

输出:
<contrib contrib-type="author" corresp="yes" id="U94028797">

任何人给予的建议,以避免这一点,我们将不胜感激。提前致谢。 docs

您将需要安装Tie::IxHash

回答

4

在创建树枝使用keep_atts_order选项。

请注意,XML工具不应该关心属性的顺序。

+0

...这是为什么用正则表达式解析是一个可怕的想法的另一个原因! :) – Sobrique

+1

@mirod:真棒......它的工作正常。 – ssr1012