在 perl 中使用 XML::Twig 时如何避免 xml 中的属性互换

How to avoid the attribute interchanging in xml while using XML::Twig in perl

在我的输入 xml 文件中,我们正在用 perl 进行一些转换工作。我们需要有带缩进的 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">

如果有人提出避免这种情况的建议,我们将不胜感激。提前致谢。

创建树枝时使用 keep_atts_order 选项:docs

您需要 Tie::IxHash 才能安装。

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