PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Re: Importer une fichier XML dans un fichier HF7
Re: Importer une fichier XML dans un fichier HF7
Débuté par sebastienmartens, 07 déc. 2005 00:00 - Aucune réponse
Posté le 07 décembre 2005 - 00:00
Michel Charlier a écrit :


J'essaie d'importer un fichier XML important (+/- 8Mb), fichier log généré
par un progamme de Backup, dans un fichier existant au format HF7. Ce fichier
comprend 3 champs:
IDLogfile(N,4), texte(T,500) et numligne(N,4)
Le but est d'importer toutes les chaînes se trouvant dans l'XML (en enlevant
les balises) dans le champ texte. En fait, il faut donc transformer le fichier
XML pour l'importer comme on peyut le faire avec un fichier texte avec la
fonction flitligne.
Est-ce possible avec la fonction HImporteXml (je n'y arrive pas) ou quelqu'un
voit-il comment coder la chose ?
Merci de votre aide/

Michel Charlier



bonjour, je travaille actuellement sur le transfert de données entre une
base PROGRESS et SQL SERVER, j'utilise la fonction himportexml.
Il faut faire attention aux caractères réservés XML dans le fichier, au
niveau des chaines de texte.
Pour l'exemple de tes données, le fichier xml doit avoir la structure
suivante :

<FICHIER>
<ELEMENT1>
<IDLogfile>9999</IDLogfile>
<texte>ceci est du texte</texte>
<numligne>1</numligne>
</ELEMENT1>
<ELEMENT2>
<IDLogfile>9999</IDLogfile>
<texte>ceci est du texte</texte>
<numligne>1</numligne>
</ELEMENT2>
....
....
....
<ELEMENT1>
<IDLogfile>9999</IDLogfile>
<texte>ceci est du texte</texte>
<numligne>1</numligne>
</ELEMENT1>
</FICHIER>


avec ELEMENT1, ELEMENT2, ELEMENTN reprenant chaque enregistrement
chaque balise ouvrante et fermante reprend le nom du champ, ainsi tu
n'as pas à définir la liste des rubriques dans la fonction himportexml.
ensuite, la fonction himportexml (avec les paramètres), importe
correctement ce fichier dans la table. Les erreurs peuvent être dues à
l'utilisation de caractères réservés à XML ( " / < > ' ).

Espérant que cela puisse t'aider,

Sébastien MARTENS