J'ai un fichier XML, et je veux le lire - supprimer un noeud - enregistrez-le. Je cours perl de terminal (perl script.pl)perl - supprimer le noeud du fichier xml
exemple XML (filename.xml):
<?xml version="1.0" encoding="UTF-8"?>
<twice>
<inner>
<twice>
<name>John</name>
<surname>Smith</surname>
</twice>
<twice>
<name>Alan</name>
<surname>Bowler</surname>
</twice>
<twice>
<name>Michael</name>
<surname>Deck</surname>
</twice>
</inner>
</twice>
exemple de script perl (de script.pl):
use strict;
use warnings;
use XML::LibXML;
my $filename = "filename.xml";
my $parser = XML::LibXML->new();
my $xmldoc = $parser->parse_file($filename);
for my $dead ($xmldoc->findnodes(q{/twice/inner/twice[surname = "Bowler"]})) {
$dead->unbindNode;
}
print $xmldoc->toString;
Maintenant sorties le résultat attendu dans le terminal, mais sans enregistrer le fichier.
Résultat attendu (NomFichier.xml):
<?xml version="1.0" encoding="UTF-8"?>
<twice>
<inner>
<twice>
<name>John</name>
<surname>Smith</surname>
</twice>
<twice>
<name>Michael</name>
<surname>Deck</surname>
</twice>
</inner>
</twice>
J'ai cherché pendant plusieurs heures et ne pouvait pas trouver quoi que ce soit, désolé si c'est un doublon!
Ceci est ma première expérience avec Perl alors s'il vous plaît toute aide serait la bienvenue, merci.
C'est étrange, il a enlevé le Dossier de bowler pour moi. Ou voulez-vous dire qu'il imprime bien au terminal, mais n'enregistre pas le fichier filename.xml? – Nate
exactement, il ne sauvegarde pas le fichier – dimmageiras