Traiter XML avec Shell
Résolu/Fermé
jhoncoke
Messages postés
35
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
4 octobre 2012
-
4 janv. 2011 à 11:12
jhoncoke Messages postés 35 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 4 octobre 2012 - 5 janv. 2011 à 13:45
jhoncoke Messages postés 35 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 4 octobre 2012 - 5 janv. 2011 à 13:45
A voir également:
- Traiter XML avec Shell
- Xml download - Télécharger - Édition & Programmation
- Classic shell windows 11 - Télécharger - Personnalisation
- Office xml handler - Télécharger - Traitement de texte
- Driveimage xml - Télécharger - Sauvegarde
- Shell startup windows 10 - Guide
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
4 janv. 2011 à 11:15
4 janv. 2011 à 11:15
Salut,
Merci de poster un exemple concret de ce que tu veux obtenir...
Merci de poster un exemple concret de ce que tu veux obtenir...
jhoncoke
Messages postés
35
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
4 octobre 2012
4 janv. 2011 à 15:27
4 janv. 2011 à 15:27
je recentre ma question, voici un bout exemple:
<track id="TR1.1" mainDir="up">
...
</track>
<track id="TR1.2" mainDir="down">
...
</track>
...
Je voudrais mettre chaque nouvelle balise track dans un nouveau fichier xml différent pour avoir à la fin TR1.1.xml; TR1.2.xml; etc.
Merci
<track id="TR1.1" mainDir="up">
...
</track>
<track id="TR1.2" mainDir="down">
...
</track>
...
Je voudrais mettre chaque nouvelle balise track dans un nouveau fichier xml différent pour avoir à la fin TR1.1.xml; TR1.2.xml; etc.
Merci
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
4 janv. 2011 à 15:49
4 janv. 2011 à 15:49
C'est tout ? Juste parser la ligne contenant "track id=" ?
Rien d'autre à récupérer ?
Rien d'autre à récupérer ?
jhoncoke
Messages postés
35
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
4 octobre 2012
4 janv. 2011 à 16:04
4 janv. 2011 à 16:04
C'est juste mettre tout ce qu'il y a entre <track id=...> ... </track> dans un fichier xml différent (début et fin de balise inclus)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
5 janv. 2011 à 11:04
5 janv. 2011 à 11:04
Re-
Un truc du genre devrait faire l'affaire. A adapter tout de même surtout au niveau du séparateur d'enregistrement en entrée (RS) et du champ de récupération pour le nom du fichier (A=$n) :
À défaut d'exemple concret et plus précis de ta part, j'ai supputé que la ligne <infrastructure id="IS" version="2.0"> était répétée et je m'en suis servi comme séparateur. Si tel n'était pas le cas à remplacer par 'RS="</track>"' et 'A=$6'
Un truc du genre devrait faire l'affaire. A adapter tout de même surtout au niveau du séparateur d'enregistrement en entrée (RS) et du champ de récupération pour le nom du fichier (A=$n) :
awk ' BEGIN { FS="\"" RS="<infrastructure id=\"IS\" version=\"2.0\">" } { if (/track id/) { A=$2 print $0 > A".xml" } } ' fichier.xml
À défaut d'exemple concret et plus précis de ta part, j'ai supputé que la ligne <infrastructure id="IS" version="2.0"> était répétée et je m'en suis servi comme séparateur. Si tel n'était pas le cas à remplacer par 'RS="</track>"' et 'A=$6'
jhoncoke
Messages postés
35
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
4 octobre 2012
5 janv. 2011 à 13:45
5 janv. 2011 à 13:45
Ca marche... Merci :)