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

SQL Oracle Discussion :

XMLFOREST et XMLATTRIBUTES


Sujet :

SQL Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut XMLFOREST et XMLATTRIBUTES
    Bonjour tout le monde,

    Voici mon soucis du jour.

    J'ai fais une requête qui me génere un XML.

    J'utilise XMLFOREST afin de chercher toutes les données correspondant à mes critères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    (SELECT XMLAgg(XMLElement("FACTURE",XMLForest(numero AS "NUMERO",
                                                                        Reference AS "REFERENCE",
                                                                        SOUSTYPE as "SOUSTYPE",
                                                                        DATE as "DATE"
                                                                          )FROM matable
    WHERE mesCritères)))
    Ce qui me génère le résultat escompté.

    Par contre, dans mes noeuds j'aimerai ajouter des attributs (dans la partie en rouge)

    Et je n'arrive pas à combiner XMLFOREST et XMLATTRIBUTES.

    Si quelqu'un à une idée ou une piste, ce serait gentil...

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Vous ne pouvez effectivement pas combiner XMLForest et XMLAttributes, il vous faudra faire plusieurs XMLElement.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut
    Bonjour Waldar,

    Merci de votre réponse.

    Pourriez vous me donner un exemple rapide de ce que je dois faire ?

    Quand j'essaie de décomposer ma requête en plusieurs parties, je n'obtiens pas un fichier XML homogène.

    Merci d'avance

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    J'adapte votre première requête à quelque chose de simple :
    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
    SELECT
        XMLAgg(
          XMLElement("FACTURE",
                     XMLForest('numero' AS "NUMERO",
                               'Reference' AS "REFERENCE",
                               'SOUSTYPE' as "SOUSTYPE",
                               'DATE' as "DATE"
                              )
                    )
              ) as XmlTest
    from dual;
     
    <FACTURE>
      <NUMERO>numero</NUMERO>
      <REFERENCE>Reference</REFERENCE>
      <SOUSTYPE>SOUSTYPE</SOUSTYPE>
      <DATE>DATE</DATE>
    </FACTURE>
    En utilisant plusieurs XMLElement :
    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
    SELECT
        XMLAgg(
          XMLElement("FACTURE",
                     XMLElement("NUMERO"   , xmlattributes('http://www.w3.org/2001/XMLSchema-instance' "xmlns:xsi"), 'numero'   ),
                     XMLElement("REFERENCE", xmlattributes('http://www.w3.org/2001/XMLSchema' "xmlns:xsd")         , 'Reference'),
                     XMLElement("SOUSTYPE" , xmlattributes('attr1' "attr1", 'attr2' "attr2")                       , 'SOUSTYPE' ),
                     XMLElement("DATE"     ,                                                                         'DATE'     )
                    )
              ) as XmlTest
    from dual;
     
    <FACTURE>
      <NUMERO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">numero</NUMERO>
      <REFERENCE xmlns:xsd="http://www.w3.org/2001/XMLSchema">Reference</REFERENCE>
      <SOUSTYPE attr1="attr1" attr2="attr2">SOUSTYPE</SOUSTYPE>
      <DATE>DATE</DATE>
    </FACTURE>

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut
    Monsieur Waldar,

    Où que vous soyez et qui que vous soyez : MERCI, MERCI et MERCI

    Ca fonctionne à merveille

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/04/2011, 14h01
  2. [9i] valeur NULLE dans xmlattributes
    Par Nico57 dans le forum Oracle
    Réponses: 2
    Dernier message: 24/01/2006, 16h20

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