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 :

lecture fichier XML retour impayé SEPA [WD18]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    de
    Inscrit en
    Décembre 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 62
    Points : 46
    Points
    46
    Par défaut lecture fichier XML retour impayé SEPA
    Bonjour,

    j'essaie de lire un fichier xml de retour impayé sepa(CAMT-054) et je n'obtiens rien en recherche. je vois bien le document charger. mais dés que le lit,il ne me renvoie rien. Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    sNomFichierXML est une chaîne =gsCRepFichierent
    Res est un booléen
    xmlDoc est un xmlDocument
    // Création du document XML
    Res = XMLDocument("xmlDoc", sNomFichierXML)
    // Le document est créé ?
    SI Res = Faux ALORS
    	Erreur("Le document n'a pas pu être créé.")
    FIN
     
     
     
    SI sNomFichierXML <> "" ALORS 
    	// Ouverture du fichier XML
     
    	xmlDoc = XMLOuvre(sNomFichierXML,depuisFichier)
    //	Erreur(ErreurInfo())
    	SI ErreurDétectée = Vrai ALORS
    		Erreur("impossible de lire le fichier XML.")
    		Erreur(ErreurInfo())
    	FIN
    		// Vérifie qu'il y a bien au moins une racine (en général il n'y en a qu'une)
    	SI xmlDoc..NoeudRacine..Occurrence < 1 ALORS
    		Erreur("Le fichier XML " + sNomFichierXML + " ne contient pas de noeud racine")
    		RETOUR
    	FIN	
    FIN
    XMLRacine("xmlDoc")
    XMLRecherche("xmlDoc", "N", XMLBalise + XMLSousElément, XMLCommencePar)
    TANTQUE XMLTrouve("xmlDoc") = Vrai
    	Info("Balise trouvée " + XMLNomElément("xmlDoc"))
    	// Elément suivant dans la recherche
    	XMLSuivant("xmlDoc")
    FIN
    merci d'avance de vos réponses.

    Cordialement

  2. #2
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Perso pour lire les fichiers xml j'aime bien utiliser les fonctions :
    - XMLLit() : Renvoie la valeur d'un élément XML, ou la valeur de l'attribut d'un élément XML
    - XMLExécuteXPath() : Exécute une requête XPATH dans un document XML
    - XMLRésultat() : Donne le résultat d'une requête XPath de calcul


    Un exemple d'utilisation complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    sXML  est une chaîne = [
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <zylab>
    	<document name="Proforma_20111130152636.pdf" version="1.1">
    		<fields>
    			<field id="Date_doc">20111130</field>
    			<field id="Fournisseur">Kermene</field>
    			<field id="Type_doc">Prefacture Aladin</field>
    			<field id="Num_prefacture">F122121</field>
    			<field id="Num_bon">BL123456</field>
    			<field id="Rayon">Boucherie</field>
    			<field id="Num_bon_retour">BR126398</field>
    		</fields>
    	</document>
    </zylab>
    ]
     
    XMLDocument("DocXML",sXML)
     
    sXPath est une chaîne
    nNb_Field est un entier
    sNom est une chaîne
    sValeur est une chaîne
    i est un entier
     
    // requête XPATH retourne le nombre d'élément field dans /zylab/document/fields
    sXPath = "count(/zylab/document/fields/field)"
    SI XMLExécuteXPath("DocXML",sXPath) ALORS
    	SI XMLEnDehors("DocXML") ALORS
    		nNb_Field = XMLRésultat("DocXML")
     
    		// boucle de parcours des éléments
    		POUR i = 1 A nNb_Field
    			// récup attribut
    			sNom    = XMLLit("DocXML","/zylab/document/fields/field["+i+"]/@id")
    			// récup valeur
    			sValeur = XMLLit("DocXML","/zylab/document/fields/field["+i+"]")
    			// Affichage
    			Info("Attribut = "+sNom + RC + "Valeur   = " + sValeur)
    		FIN
    	FIN
    SINON
    	Erreur(ErreurInfo())
    FIN
     
    // pour une recherche directe par exemple de la valeur du fournisseur
    Info(XMLLit("DocXML","/zylab/document/fields/field[@id='Fournisseur']"))
     
    // idem pour le Rayon du 1ère fields (pour le cas ou il y en aurait plusieurs voir la boucle ci-dessus)
    Info(XMLLit("DocXML","/zylab/document/fields[1]/field[@id='Rayon']"))
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  3. #3
    Membre du Club
    Homme Profil pro
    de
    Inscrit en
    Décembre 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 62
    Points : 46
    Points
    46
    Par défaut reponse
    Merci laurent

  4. #4
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Personnellement j'utilise les variables de type xmlDocument. Pour ce que j'ai eu a faire pour le moment, cela fonctionne. A toi de voir si ça te convient.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    test est un xmlDocument
     
    test = XMLOuvre([
    <Contexte>
    	<Motif>Motif1</Motif>
    	<Motif>Motif2</Motif>
    	<DateRealisation>2011-10-01</DateRealisation>
    </Contexte>
    ], depuisChaîne)
     
    Trace(test.Contexte.Motif[2])
    Trace(test.Contexte.DateRealisation)
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  5. #5
    Membre du Club
    Homme Profil pro
    de
    Inscrit en
    Décembre 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 62
    Points : 46
    Points
    46
    Par défaut reponse a delphimaniac
    Bonjour et merci delphimaniac

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

Discussions similaires

  1. lecture fichier XML
    Par bhahmed dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/09/2006, 08h40
  2. [C#-XML] - Problème de lecture fichier XML
    Par Gloups dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/08/2006, 00h40
  3. Lecture fichier xml aux caracteres accentués
    Par LFC dans le forum Modules
    Réponses: 2
    Dernier message: 13/02/2006, 19h45
  4. Réponses: 3
    Dernier message: 09/12/2005, 17h42
  5. [SAX] Problème lecture fichier xml
    Par BernardT dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 07/07/2005, 18h11

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