2016-09-29 81 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