Modification dans un fichier XML
Bonjour,
J'ai un petit souci dans la modification d'un fichier XML.
voici le fichier XML en question :
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Policy xmlns="http://www.emc.com/concerto/v1.0" name="grp_nagios_snag121e" id="e00d6342-f5e5-4452-b94c-3b3ca4201dba" statusCode="OUTOFSYNC" statusMessage="No of Ext Entities and No of DPRs doesnt match" href="https://srapi21e:8543/rest-api/policy/e00d6342-f5e5-4452-b94c-3b3ca4201dba" type="application/xml,application/json">
<Folder href="https://srapi21e:8543/rest-api/folder/351f547a-8760-46dc-8586-8bf8e70ba54e" id="351f547a-8760-46dc-8586-8bf8e70ba54e" name="aixcerti"/>
<Dataset href="https://srapi21e:8543/rest-api/dataset/43e6e918-a310-4421-89f4-686f03935f1b" id="43e6e918-a310-4421-89f4-686f03935f1b" name="Default Dataset"/>
<Schedule href="https://srapi21e:8543/rest-api/schedule/9b10ca2b-4843-4a75-8299-daeec7e9d700" id="9b10ca2b-4843-4a75-8299-daeec7e9d700" name="Default Schedule"/>
<Retention href="https://srapi21e:8543/rest-api/retention/d3fd6fb6-7705-416a-9a73-c1a04c345a24" id="d3fd6fb6-7705-416a-9a73-c1a04c345a24" name="ret_35j"/>
<Client href="https://srapi21e:8543/rest-api/client/ef920436-3370-4620-baa4-8710d801285f" id="ef920436-3370-4620-baa4-8710d801285f" name="snag121e"/>
<Enabled>false</Enabled>
<EncryptionType>none</EncryptionType>
<OverrideSchedule>notOverridden</OverrideSchedule>
</Policy> |
Je n'arrive pas à modifier la valeur de la balise <Enabled> de 'false' en 'true'.
Voici le script perl que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #!/usr/bin/perl
use strict;
use warnings;
use XML::LibXML;
my $reviews_file = 'cr1.xml';
my $parser = XML::LibXML->new;
my $doc = $parser->parse_file($reviews_file) or die "Couldn't parse book reviewers\n";
for my $reviewer ($doc->findnodes('/Policy')) {
my ($name) = $reviewer->findnodes('Enabled');
$name->removeChildNodes();
$name->appendText('true');
}
print $doc->toString; |
A noter que si la balise <Policy> ne contient pas d'attribut, la modification fonctionne!
Merci d'avance à ceux qui pourrait m'aider.