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

PL/SQL Oracle Discussion :

Pb import fichier xml


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Par défaut Pb import fichier xml
    salut tout le monde,
    j'ai un problème de lecture de fichier xml importé avec un procedure PL/SQL, par une URL.
    En fait, quand j'ai un fichier de xml de ce type (balise : EVAL) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    - <result version="3.1" site="8535" refid="12945" retour="trouvee" count="1">
    - <transaction avancement="traitee" cid="2802855">
      <detail>Paiement validé</detail> 
    - <analyse>
      <eval date="18/05/2009 17:21:39" critere="###" validation="Assuré à 100 %" info="Profil Abonnés Fournisseur d Accès">100</eval> 
      <classement id="15">Transactions traitées/Validées/Automatiquement</classement> 
      </analyse>
      </transaction>
      </result>
    je récupére bien les valeurs : DATE, INFO et la valeur 100.

    Mais, dés que j'ai un fichier du méme type avec 2 balise TRANSACTION :

    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
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    - <result version="3.1" site="8535" refid="13493" retour="trouvee" count="2">
    - <transaction avancement="traitee" cid="2085968">
      <detail>Paiement validé</detail> 
    - <analyse>
      <eval date="10/10/2009 15:22:56" critere="###" validation="Assuré à 100 %" info="Montant faible">0</eval> 
      <classement id="15">Transactions traitées/Validées/Automatiquement</classement> 
      </analyse>
      </transaction>
    - <transaction avancement="traitee" cid="2085963">
      <detail>Paiement validé</detail> 
    - <analyse>
      <eval date="10/10/2009 15:22:31" critere="###" validation="Assuré à 100 %" info="Montant faible">100</eval> 
      <classement id="15">Transactions traitées/Validées/Automatiquement</classement> 
      </analyse>
      </transaction>
      </result>
    je récupére bien aussi DATE et INFO, mais PAS la valeur de la balise EVAL, ie, le "0".
    NB, je pointe sur la 1ere balise TRANSACTION.
    Voici mon code xml qui récupère les champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
          wa_xmldiagnostic :=f_vad_demandereponsefianet (p_codsoc, p_siteid, p_passwd, wa_numcde);
          wa_listenode := xpath.selectnodes (wa_xmldiagnostic, '/result');
          wn_numeve := xpath.valueof (xmldom.item (wa_listenode, 0), '@refid');
          wa_retour := xpath.valueof (xmldom.item (wa_listenode, 0), '@retour');
          wa_avcmt :=  xpath.valueof (xmldom.item (wa_listenode, 0), 'transaction/@avancement');
          wa_dateval := xpath.valueof (xmldom.item (wa_listenode, 0), 'transaction/analyse/eval/@date');
          wa_info := xpath.valueof (xmldom.item (wa_listenode, 0), 'transaction/analyse/eval/@info');
          wa_eval := xpath.valueof (xmldom.item (wa_listenode, 0), 'transaction/analyse/eval');
    f_vad_demandereponsefianet : est la fonction qui récupére le flux de données.
    Donc mon Pb est sur la variable : wa_eval, qui ne contient rien dés que j'ai 2 branche de <TRANSACTION>.
    c'est quoi le Pb svp.
    merci pour votre aide.

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Je pense qu'il manque l'extraction de la valeur "/text()" et qu'il faut spécifier lequel de deux blocs transaction faut-il traiter.
    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
     
    Select XmlType('<?xml version="1.0" encoding="ISO-8859-1" ?>
      2       <result version="3.1" site="8535" refid="13493" retour="trouvee" count="2">
      3       <transaction avancement="traitee" cid="2085968">
      4        <detail>Paiement validé</detail>
      5       <analyse>
      6        <eval date="10/10/2009 15:22:56" critere="###" validation="Assuré à 100 %" info="Montant faible">0</eval>
      7        <classement id="15">Transactions traitées/Validées/Automatiquement</classement>
      8        </analyse>
      9        </transaction>
     10       <transaction avancement="traitee" cid="2085963">
     11        <detail>Paiement validé</detail>
     12       <analyse>
     13        <eval date="10/10/2009 15:22:31" critere="###" validation="Assuré à 100 %" info="Montant faible">100</eval>
     14        <classement id="15">Transactions traitées/Validées/Automatiquement</classement>
     15        </analyse>
     16        </transaction>
     17        </result>').extract('/result/transaction[1]/analyse/eval/text()').getStringval()
     18  from dual
     19  ;
     
    XMLTYPE('<?XMLVERSION="1.0"ENC
    --------------------------------------------------------------------------------
    0

  3. #3
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Par défaut Import donnees fichier xml
    ca a l'air interessant ta requete, j'ai testé est ca marche nikel.
    merci bcp

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

Discussions similaires

  1. important fichier XML+ code Java
    Par nonna dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 09/02/2008, 13h09
  2. Réponses: 3
    Dernier message: 20/04/2007, 09h46
  3. VBScript : création base Access pour import fichier XML
    Par abertaud dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/04/2007, 14h35
  4. VBScript : création base Access pour import fichier XML
    Par abertaud dans le forum VBScript
    Réponses: 1
    Dernier message: 02/04/2007, 14h34
  5. Importation fichier xml
    Par kastor_lapon dans le forum WinDev
    Réponses: 1
    Dernier message: 01/07/2005, 11h54

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