Ich möchte Attribute in XML mit Perl aktualisieren. Das Problem hier ist, wenn ich die Attribute von XML aktualisiert, es passiert, aber das XML-Format wird geändert.Breaking mein Kopf, aber nutzlos!Perl-Code zum Aktualisieren von Attributen in xml ohne Auswirkungen auf das XML-Format
Kann pls jemand mir einige Perl-Code vorschlagen Attribute in XML zu bearbeiten, um die Perl-Code das XML-Format
I beeinflussen verwendet, wie unten
#!/usr/bin/perl
use strict;
use warnings;
use XML::Simple;
my $xml_file = '3.xml';
my $xml = XMLin(
$xml_file,
KeepRoot => 1,
ForceArray => 1
);
$xml->{outer1}->[0]->{inner1}->[1]->{name}->[0]->{first} = 'Shane Bond';
XMLout(
$xml,
KeepRoot => 1,
NoAttr => 1,
OutputFile => $xml_file,
);
Eingang xml gezeigt:
<outer1>
<inner1>
<name>Stonecold</name>
<org>wwf</org>
<profession>
<Bowler>hai</Bowler>
</profession>
</inner1>
<inner1>
<name first = "Shanebond" />
<org>newzealand</org>
<profession>Shane Bond</profession>
</inner1>
<inner1>
<name>brain schemidit</name>
<org>Google</org>
<profession>Chairman</profession>
</inner1>
</outer1>
Erwartete Ausgabe xml:
<outer1>
<inner1>
<name>Stonecold</name>
<org>wwf</org>
<profession>
<Bowler>hai</Bowler>
</profession>
</inner1>
<inner1>
<name first = "Shane Bond" />
<org>newzealand</org>
<profession>Shane Bond</profession>
</inner1>
<inner1>
<name>brain schemidit</name>
<org>Google</org>
<profession>Chairman</profession>
</inner1>
</outer1>
Tatsächliche Ausgabe xml:
<outer1>
<inner1>
<name>Stonecold</name>
<org>wwf</org>
<profession>
<Bowler>hai</Bowler>
</profession>
</inner1>
<inner1>
<name>
<first>Shane Bond</first>
</name>
<org>newzealand</org>
<profession>Shane Bond</profession>
</inner1>
<inner1>
<name>brain schemidit</name>
<org>Google</org>
<profession>Chairman</profession>
</inner1>
</outer1>
[? * Warum XML :: Simple "Entmutigt" *] (http://stackoverflow.com/questions/33267765/why-is-xmlsimple-discouraged) – Borodin