IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

Convertir un XML en Fichier Plat


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 138
    Par défaut Convertir un XML en Fichier Plat
    Bonjour tout le monde.

    Au fait, j'ai deux grand programmes: Le premier traite les données (Quantité trop importante de données) et me sort le résultat dans un ou plusieurs fichiers XML. Quand au deuxième, il prend ce ou ces fichiers XML comme entrée(s) et après traitement me sortir des documents PDF pour chaque client.
    Le problème est que mon deuxième programme, dans sa nouvelle version, n'accepte plus de fichiers XML, mais des fichiers Plats.
    D'où je commence aujourd'hui à chercher un petit programme qui va me faire cette conversion; Et bien sur je vais devoir changer un peu ce programme juste au niveau de la structure de sortie du fichier plat, et pourquoi pas y rajouter quelque autres fonctionnalités.
    J'ai cherché un peu sur Internet, mais je ne trouve que le chemin inverse de conversion, c à d; une construction d'un fichier XML à partir d'un fichier plat.
    Je veux le chemin inverse.
    Quelqu'un aurait une proposition à me faire ?

    Merci d'avance pour vos réponses et suggestions.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bonjour,


    Pourrais-tu montrer un exemple de fichier XML de départ, et le fichier plat résultant, stp.

    Avec quel langage de programmation travailles-tu ?

    A priori, je pense qu’un traitement par expression régulière pourrait faire l’affaire. Mais je m’illusionne peut être par méconnaissance de la complexité des fichiers XML.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 138
    Par défaut [Re]: Convertir un XML en Fichier Plat
    Avant tout, merci pour ta réponse.

    J'aurai bien aimé, mais les données sur ce fichier sont confidentielle.
    Par contre, je pourrai faire une description rapide: Il y'a une balise pour le début du fichier, puis autant de balise que de client, avec dans chacune, une description détaillée des données de ce client.
    Pour la structure du fichier plat de sortie, il est définit sous forme de pages, avec un code pour marquer le début de chaque page et son type: si elle est une page globale donnant les infos du client, ou si c'est une page détail pour ces factures, ou une page récapitulative de plusieurs contrat du même client.

    Vu la quantité énorme de donnée que je vais devoir copier du xml et mettre dans un fichier plat, j'ai choisi le langage C/C++ car il est connu "d'après mes connaissance" pour sa bonne gestion de mémoire et des pointeurs.

    Alors ? Ça t'aide un peu pour pouvoir m'aider ?

    Merci encore une fois.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    clients...factures....descriptions détaillées...
    Je comprends que ce soit confidentiel.
    Mais les donnees en elles-mêmes ne m’intéressent pas, seulement leur structure.

    Il faut que tu prennes la peine de prendre ton fichier et de changer à la main les données, tu remplaces les noms par des noms de fruits, tous les chiffres par des entiers entre 0 et 100, etc...

    Ainsi on pouurra voir comment est structuré le fichier. Avec des centaines d’éléments dont les balises sont au même niveau d’indentation ? Avec une arborescence profonde d’éléments ? etc

    Et surtout, il faut donner le fichier résultant de façon à ce qu’on comprenne ce que tu veux dire par fichier plat. C’est peut être évident pour d’autres mais pas pour moi.
    Pour la structure du fichier plat de sortie, il est définit sous forme de pages,
    je ne comprends pas ce que ça veut dire. Comment sont definies les pages ?

    Pour ce qui est des la « bonne gestion de la mémoire » de C++, j’ai écarquillé les yeux en lisant ça car , à ma connaissance, C++ n’est pas un langage de très haut niveau, comprendre qu’il est encore proche de la machine, et qu’il incombe au programmeur d’allouer des morceaux de mémoire et de les libérer.

    D’une part c’est pénible, et d’autre part j’ai lu dans des posts sur ce site que beaucoup de programmes en C++ ont des fuites de mémoire, car il n’y a pas de garbage collector. Il faudra que je retrouve la référence si ça t’intéresse. Enfin bref, en C++, la gestion de la mémoire n’est pas automatisée comme une tâche incombant au programme lui même. D’après ce que je sais.

    C++ est réputé aller vite et c’est pour çà qu’il se maintient comme langage répandu, malgré la difficulté et la pénibilité à l’utiliser.
    Mais pour faire du traitement de texte, ça me semble complétement à coté de la plaque.
    Enfin tu fais comme tu veux mais personnellement je ne connais pas C++

  5. #5
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour Imad_ing,

    si tu souhaite que tous tes éléments soient fils de la racine
    alors c'est très simple et on peut te donner l'astuce;
    sinon il est nécessaire de connaître la structure de départ de ton XML,
    ainsi que la structure souhaitée.

    En particulier, il faut savoir transformer :
    - un attribut en élément,
    - un élément de niveau n en un élément de niveau n-1.

    Certes la réponse n'est pas dans la FAQ, mais n'est pas difficile.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 138
    Par défaut
    Bonjour tout le monde et désolé pour ce retard.

    Au fait, ce que je cherche, c'est les outils avec lesquels je vais pouvoir parser un fichier XML avec une très grande quantité de données en un fichier plat (.txt) en suivant bien une structure de ce dernier bien définie.

    Pour parser le fichier XML, j'ai lu que TinyXML etait la pus simple mais qu'elle ne supportait que l'API DOM, et qu'aussi elle est dédiée pour parser des fichiers XML de petite et moyenne taille. Ça ne marchera pas avec moi.
    Donc, après recherches, je vais utiliser TXMLDocument. Est ce un bon choix ?

    Pour l'écriture de mon fichier Plat (txt), je vais utiliser des dérives de la la classe de base std::ios_base pour les flux: ifStream et ofStream.

    Merci beaucoup pour vos réponses.

Discussions similaires

  1. Convertir n'importe quel fichier to Xml.
    Par thierryakaguy dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 01/10/2007, 22h29
  2. générer un fichier xml à partir d'un gros fichier plat
    Par ybennani dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 16/05/2007, 11h47
  3. Transformer un fichier xml en un fichier plat
    Par sebgatz dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/05/2007, 00h25
  4. [XML] fichier plat vers xml
    Par jasminrose dans le forum APIs
    Réponses: 22
    Dernier message: 16/04/2007, 18h37
  5. Réponses: 7
    Dernier message: 10/11/2006, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo