script pour générer un xml à partir bdd mysql

script pour générer un xml à partir bdd mysql - Shell/Batch - Programmation

Marsh Posté le 06-06-2008 à 10:07:56    

Bonjour,
je veux générer un fichier xml, à partir d'une heure donnée.  
Je sais que dans mon script j'utilise :
result =`echo "selelect ...."|mysql --user=... ....
pour extraire une ligne.
Comment puis-je faire pour extraire toutes les lignes, afin de construire mon fichier xml ?

Reply

Marsh Posté le 06-06-2008 à 10:07:56   

Reply

Marsh Posté le 06-06-2008 à 10:58:32    

Ton utilitaire mysql il te sort un résultat en XML ?

Reply

Marsh Posté le 06-06-2008 à 11:35:48    

J'ai créer une fonction stockée que me renvoie par exemple:
 
<markers>
   <marker lat="2.5" lng="2.6" info="nom"/>
     ...
</markers>
 
mais lorsque dans mon script je veux mettre le resultat dans un fichier xml il ne fait rien:
XML_=`echo "select xml_googlemap() as res"|mysql --user=...`
XML=`echo $XML_|cut -f 2 -d " "`
echo -e "<?xml version='1.0' encoding='ISO-8859-1'?>\n$XML\n">donnees.xml
 
En ligne de commande linux j'ai bien le resultat cherché mais pas dans le script
 

Reply

Marsh Posté le 06-06-2008 à 13:39:05    

À quoi te sert cette ligne-ci ?

XML=`echo $XML_|cut -f 2 -d " "`


 

Reply

Marsh Posté le 07-06-2008 à 22:20:38    

Elmoricq a écrit :

À quoi te sert cette ligne-ci ?

XML=`echo $XML_|cut -f 2 -d " "`


 


Boaf... A vue de nez il stocke le 2° mot de la variable XML_ dans la variable XML...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 08-06-2008 à 12:02:02    

et avec  
echo -e "<?xml version='1.0' encoding='ISO-8859-1'?>\n$XML\n" > donnees.xml  
des fois que echo ait prit tout le texte collé comme un seul argument
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 08-06-2008 à 13:11:29    

Sve@r a écrit :


Boaf... A vue de nez il stocke le 2° mot de la variable XML_ dans la variable XML...


 
Nan ok, mais à quoi ça lui sert de faire ça ?
Parce qu'à priori, le résultat est que $XML ne contient pas grand chose.

Reply

Marsh Posté le 09-06-2008 à 19:58:36    

Elmoricq a écrit :

Nan ok, mais à quoi ça lui sert de faire ça ?


Ah ben ça...
 

Elmoricq a écrit :

Parce qu'à priori, le résultat est que $XML ne contient pas grand chose.


Il est possible que XML_ contienne plusieurs espaces accolés. Et ça, le cut ne sait pas gérer. Et puis quand on traite une chaine de caractères, c'est bien de la protéger par des doubles guillemets histoire de protéger s'il y a des caractères un peu exotiques que le shell interpréterait à sa façon...
A voir si ça marche: XML=`echo "$XML_" |awk '{print $2}'`


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 09-06-2008 à 20:22:57    

Sve@r a écrit :


Il est possible que XML_ contienne plusieurs espaces accolés. Et ça, le cut ne sait pas gérer.


 
Disons qu'il considère l'espace (et la tabulation) comme similaire à n'importe quel autre séparateur, et que deux espaces accolés signifient qu'il s'agit d'un champ vide (même si je n'ai encore jamais rencontré de cas où c'est utile [:dawao]).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed