2016-09-29 4 views
2

In meiner Eingabe-XML-Datei machen wir einige Konvertierungen in Perl. Und wir müssen die XML-Datei mit Einzug haben. Daher verwenden wir das Modul XML::Twig (Einfacher Weg) für einen schönen Einzug.Wie vermeidet man das Attributaustausch in XML bei der Verwendung von XML :: Zweig in Perl

In Perl-Code:

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

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

Nach dieser Funktion tun das Werkzeug wurde Vertauschen der in XML-Elemente des Attributs.

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

Jeder geben Vorschlag dies zu vermeiden und es würde geschätzt. Danke im Voraus.

Antwort

4

Verwenden Sie die keep_atts_order Option, wenn Sie den Zweig zu erstellen: docs

Sie Tie::IxHash müssen installiert werden.

Beachten Sie, dass XML-Tools die Reihenfolge der Attribute überhaupt nicht interessieren sollten.

+0

... und dies ist ein weiterer Grund, warum Parsing mit Regex eine schreckliche Idee ist! :) – Sobrique

+1

@mirod: Awesome ... Es funktioniert gut. – ssr1012

Verwandte Themen