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

WinDev Discussion :

Découper un fichier XML en plusieurs fichiers XML "valide" [WD21]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Par défaut Découper un fichier XML en plusieurs fichiers XML "valide"
    Bonjour à tous,

    je suis nouveau sur le forum et je développe actuellement avec Webdev/Windev et je rencontre un petit souci technique. Je souhaiterai faire la manipulation xml suivante :

    J’ai un fichier XML en entré
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8"?>
    <operations attribut1="XXX" attribut2="XXX" attribut3="XXX" attribut4="XXX">
    	<operation numeroOperation="00001" attribut1="XXX" attribut2=" XXX" attribut3=" XXX " attribut4=" XXX ">
    </operation>
    	<operation numeroOperation="00002" attribut1="XXX" attribut2=" XXX" attribut3=" XXX" attribut4=" XXX ">
    </operation>
    	<operation numeroOperation="00003" attribut1="XXX" attribut2=" XXX" attribut3=" XXX" attribut4=" XXX ">
    </operation>
    </operations>

    et j’aimerai lors de l’import de ce fichier global, le découper en plusieurs fichiers pour obtenir les fichiers ci-dessous :
    - « operation1.xml » :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="UTF-8"?>
    <operations attribut1="XXX" attribut2="XXX" attribut3="XXX" attribut4="XXX">
    	<operation numeroOperation="00001" attribut1="XXX" attribut2=" XXX" attribut3=" XXX " attribut4=" XXX ">
    </operation>
    </operations>

    - « operation2.xml » :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="UTF-8"?>
    <operations attribut1="XXX" attribut2="XXX" attribut3="XXX" attribut4="XXX">
    	<operation numeroOperation="00002" attribut1="XXX" attribut2=" XXX" attribut3=" XXX " attribut4=" XXX ">
    </operation>
    </operations>

    - « operation3.xml » :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="UTF-8"?>
    <operations attribut1="XXX" attribut2="XXX" attribut3="XXX" attribut4="XXX">
    	<operation numeroOperation="00003" attribut1="XXX" attribut2=" XXX" attribut3=" XXX " attribut4=" XXX ">
    </operation>
    </operations>

    Le nombre de fichier est déterminé par la présence des balises <operation> dans le fichier source.

    Merci de votre aide.

    Cordialement,

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    hello,
    en utilisant la description XML, tu dois pouvoir t'en sortir avec un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    MesOperations est un WL.XMLDocument, description="FichierXML"
    UneOperation  est un WL.XMLDocument, description="FichierXML"
    ind est un entier = 1
    MesOperations   = XMLOuvre("F:\temp\FichierXML.xml",depuisFichier)
    POUR TOUT ope DE MesOperations.operations sur operation		
    UneOperation.operations:attribut1..Valeur = MesOperations.operations:attribut1
    UneOperation.operations:attribut2..Valeur = MesOperations.operations:attribut2
    UneOperation.operations:attribut3..Valeur = MesOperations.operations:attribut3
    UneOperation.operations:attribut4..Valeur = MesOperations.operations:attribut4
    UneOperation.operations.operation = ope
    XMLSauve(UneOperation,"F:\temp\operation" + ind + ".xml")	
    ind++	
    FIN
    importation du fichier XML modèle pour la description :
    1 - Aller dans l' Explorateur de projet
    2 - Cliquer droit sur Description XML/importer ....
    3 - Choisir son fichier XML d'entrée.

    Ami calmant, J.P

  3. #3
    Candidat au Club
    Femme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Par défaut
    Bonjour JP,

    Merci d’avoir pris du temps pour me répondre. Ta solution est excellente et marche impec.
    Par contre, ça nécessite que ma structure de mon xml ne change jamais...

    Cordialement,

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    Citation Envoyé par viach Voir le message
    Par contre, ça nécessite que ma structure de mon xml ne change jamais...
    Cordialement,
    si c'est à cause des attributs de opérations, je n'ai pas trouvé un moyen d'avoir du code plus "générique"du genre "balayer tous les attributs" . Si quelqu'un a une idée ?

  5. #5
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    hello,
    Citation Envoyé par jurassic pork Voir le message
    si c'est à cause des attributs de opérations, je n'ai pas trouvé un moyen d'avoir du code plus "générique"du genre "balayer tous les attributs" . Si quelqu'un a une idée ?
    je me réponds à moi-même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    MesOperations,UneOperation sont des  WL.XMLDocument, description="FichierXML"
    ind est un entier = 1
    MesOperations   = XMLOuvre("F:\temp\FichierXML.xml",depuisFichier)
    POUR TOUT ope DE MesOperations.operations sur operation	
    UneOperation.operations.operation = ope
    	POUR TOUT attr DE MesOperations.operations..Attribut
    		Ajoute(UneOperation.operations..Attribut,attr)
    	FIN	
    XMLSauve(UneOperation,"F:\temp\operation" + ind + ".xml")	
    ind++	
    FIN
    Ami calmant, J.P

  6. #6
    Candidat au Club
    Femme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Par défaut
    Excellent !

    Merci JP

    Problème résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [StAX] Découper un gros fichier XML en plusieurs fichier de même structure
    Par Lex92 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 30/07/2013, 12h04
  2. [XSLT]un fichier xsl et plusieurs fichiers xml
    Par akhtira dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 04/02/2008, 11h03
  3. Decomposé un fichier XML en plusieurs fichiers XML sous python
    Par elhout dans le forum Général Python
    Réponses: 6
    Dernier message: 12/03/2007, 14h20
  4. [XSLT] transfo d'un fichier XML en plusieurs fichiers XML
    Par doudou_rennes dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 28/11/2006, 12h01

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