Comment récupérer la valeur d un attribut dans un XML
Bonjour,
Dans un script shell je souhaite parser un xml et remplacer la valeur d un attribut par un autre:
voici le contenu du fichier:
Code:
<start id="1" name="application" version="1.2.3.patch">
objectif: remplacer la version par 1.2.4.patch.
Merci d'avance pour votre aide.
[Resolu] remplacer la valeur d un attribut dans un xml
Bonjour disedorgue,
Merci à vous deux (frp31 et disedorgue).
J'ai essaye ta solution et cela fonctionne. J'ai juste changé un petit truc:
Code:
sed -e 's/\(version="\)[^"]*patch\("\)/\11.2.4.patch\2/g'
pour éviter de modier tous les attributs "version" du fichier tel que
Code:
<?xml version="1.0" encoding="UTF-8"
Synthèse:
Pour remplacer, à partir d un script, la valeur de l attribut "version" dans un fichier XML on peut utiliser la solution suivante:
Code:
1 2
| $ echo '<start id="1" name="application" version="1.2.3.patch">' | sed -e 's/\(version="\)[^"]*\("\)/\11.2.4.patch\2/g'
<start id="1" name="application" version="1.2.4.patch"> |