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

Oracle Discussion :

Recherche dans XMLTYPE


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut Recherche dans XMLTYPE
    Bonjour,

    J'ai un fichier XML de ce type stocké dans une colonne XMLTYPE :
    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
    <root>
        <Groupe>
            <Id>A</Id>
            <Entete>
                <Info>
                    <Nom>Blablabla</Nom>
                </Info>
            </Entete>
            <Detail>
                <SousGroupe>
                    <Id>1</Id>
                </SousGroupe>
                <SousGroupe>
                    <Id>2</Id>
                </SousGroupe>
            </Detail>
            <Id>B</Id>
            <Entete>
                <Info>
                    <Nom>Toto</Nom>
                </Info>
            </Entete>
            <Detail>
                <SousGroupe>
                    <Id>7</Id>
                </SousGroupe>
                <SousGroupe>
                    <Id>8</Id>
                </SousGroupe>
            </Detail>
        </Groupe>
    </root>
    Je voudrais extraire tous les <Nom> et pour chacun des noms avoir tous les Id afin d'obtenir quelquechose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Id  Nom        SousGroupe
    --  -------    ----------
    A   Blablabla  1
    A   Blablabla  2
    B   Toto       1
    B   Toto       2
    J'ai trouvé des infos sur le net comme ceci http://technology.amis.nl/2006/10/31...sql-statement/

    Dans l'exemple, les données de 2e niveau (ici SousGroupe) sont directement sous le 1er niveau.
    Dans mon cas, comme il n'a pas la même arborescence de noeuds, je n'y arrive pas.

    Pouvez-vous m'aider ?
    Merci.

  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
    J’ai bien l’impression que votre fichier Xml ne permet pas d’extraire les données telle que vous voulez parce qu’il lui manque un élément complexe qui permettra de regrouper l’Id avec le Nom et le Id des sous-groupes. Telle qu’il est vous pouvez extraire tous les ID du groupe : A et B, tous les noms : Blablabla et Toto et tous les Id des sous-groupes 1, 2, 7 et 8 mais rien ne permet d’associer à l’ID du groupe A le nom Blablabla et le sous-groupe 1 et 2

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    Merci mnitu
    C'est un peu ce que je me disais.

    J'ai trouvé une solution de contournement qui n'est pas top mais qui a l'air de marcher.

    Je récupère tous les <Groupe>/<Id> et compte leur nombre.
    Et à l'aide de ce compteur, je parcours les fils de chaque père. Cela donne quelque chose comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extractValue(column_value, '/Groupe[i]/Detail/SousGroupe/Id')
    i représente bien sur le compteur des pères.

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

Discussions similaires

  1. Recherche dans XMLTYPE de PERE/FILS de type 0..n
    Par Hobbi1 dans le forum Oracle
    Réponses: 2
    Dernier message: 28/05/2013, 09h05
  2. recherche dans un projet
    Par FreshVic dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 26/04/2004, 20h04
  3. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57
  4. [BPW]Problème de recherche dans une boîte liste
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 05/07/2003, 15h10
  5. recherche dans un document xml via DOM
    Par ndoye_zaff dans le forum APIs
    Réponses: 5
    Dernier message: 11/06/2003, 14h44

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