Bonjour,
J'ai un petit souci dans la modification d'un fichier XML.
voici le fichier XML en question :
Je n'arrive pas à modifier la valeur de la balise <Enabled> de 'false' en 'true'.
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Voici le script perl que j'utilise :
A noter que si la balise <Policy> ne contient pas d'attribut, la modification fonctionne!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Merci d'avance à ceux qui pourrait m'aider.
Partager