Récupérer des info d'un fichier xml

mariam1990 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
mariam1990 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
salut tout le monde :)

j'ai le fichier xml suivant :


<Resumes>
<info1>
<titre> unix </titre>
<auteur> mari </auteur>
</info1>
<info2>
<titre> ksh </titre>
<auteur> myriam </auteur>
</info2>
</Resumes>

je veux récupérer par exemple l'information mari à l'aide une commande unix mais je ne sais pas comment,
aidez moi svp
je suis bloquer
j'attends vos réponse

merci d'avance







A voir également:

8 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Que mari ou miryam aussi ?
0
mariam1990 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   1
 
je veux récupérer seulement que mari
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
jp@MDK:~/tmpfs ssh$ cat mariam
<Resumes>
<info1>
<titre> unix </titre>
<auteur> mari </auteur>
</info1>
<info2>
<titre> ksh </titre>
<auteur> myriam </auteur>
</info2>
</Resumes>

jp@MDK:~/tmpfs ssh$ sed -n '/<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p}' mariam
 mari

jp@MDK:~/tmpfs ssh$

;-))
0
mariam1990 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   1
 
j'ai essayer la commande mais il me retourne le message suivant:

sed: Function /<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p} cannot be parsed.
:(
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Euh... ton fichier contient bien les mêmes motifs que l'exemple ci-dessus ?

Tu es sous GNU/Linux ou Windows ?

Peux-tu faire un copier/coller de ton fichier ainsi que de la commande tapée et du message d'erreur ?
0
mariam1990 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   1
 
je suis sous GNU/Linux et j'ai vérifier les motifs de mon fichier mariam.txt : j'ai les même motif que l'exemple

la commande que tape est la suivant :
$ sed -n '/<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p}' mariam.txt

et j'ai le message suivant:
sed: Function /<info1>/,/<\/info1>/{/<auteur>/ s/[^>]*>\([^<]*\).*/\1/p} cannot be parsed.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Quelle distrib ?
Quelle version de "sed" ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
avec awk (ou nawk sur Solaris)
$ nawk '/<info1>/ {f=1};/<\/info1>/ {f=0}; /<auteur>/ && f {print $2}' fichier
mari
$ 
0
mariam1990 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   1
 
merci dubece ca marche :d
mais est ce que tu peux m'expliquer la commande parce que j'ai rien saisie dans la syntaxe
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
/<info1>/ {f=1} quand une ligne contient <info1> f=1 (vrai)
/<\/info1>/ {f=0} quand une ligne contient </info1> f=0 (faux), on simule le /<info1>/, /<\/info1>/ de sed
/<auteur>/ && f {print $2} si une ligne contient <auteur> et f est vrai, on est entre <info1> et </info1>, donc on imprime le 2ème champ
0
mariam1990 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   1
 
merci pour ton aide :)

j'ai une autre question, je sais bien que je pose trop de question mais je suis vraiment bloquée:(

ma question est la suivante:
dans la commande que tu ma monter l'action que va appliquer le awk est d'écrire le résultat dans la sortie standard
mais si on veut affecter le résultat à une variable comment on peut le faire??
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
VAR=$(nawk '/<info1>/ {f=1};/<\/info1>/ {f=0}; /<auteur>/ && f {print $2}' fichier)
0
mariam1990 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   1
 
merciii pour les réponse vous m'avez bcp aider
0