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 :

Créer une structure à partir d'un fichier XML


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Points : 22
    Points
    22
    Par défaut Créer une structure à partir d'un fichier XML
    Bonjour,

    Je voudrais savoir s'il existe des outils qui permettent de créer une structure (base relationnelle) à partir d'un fichier XML.

    Je n'est actuellement rien trouvé sur Internet, je me permet donc de vous poser la question.

    Je reçois un fichier XML de la part d'un client, je voudrais donc intégrer dans une structure ces données. Je pourrais ensuite m'appuyer sur la structure pour intégrer les données dans la base de prod (après vérification).

    Si cela est possible que faut-il au niveau du fichier XML ?
    Actuellement je n'ai que le fichier brut (ni schéma ni DTD).

    Cordialement.

  2. #2
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Tout d'abord merci pour le lien.

    N'ayant pas trouvé le moyen de créer une table (avec les colonnes correspondant aux balises de mon fichiers xml). Je crée des vues qui représentent mes différents noeuds.

    Si ça intéresse du monde, voici la méthode utilisée :

    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
     
    -- création de la table qui contiendra mon fichier xml
    CREATE TABLE B_XML_TABLE OF XMLType XMLTYPE STORE AS BINARY XML;				
     
    -- insertion du fichier dans la table			
    insert into B_XML_TABLE values (XMLTYPE(BFILENAME ('DBXML','E1000000024.xml'),nls_charset_id('iso-8859-1')));				
     
    -- création d'une vue qui prend en compte les deux premiers noeuds de mon fichier 				
    create or replace view test_xml_criteres as
    	Select contrat.*, criteres.*
    	from B_XML_TABLE b, 
    		XMLTABLE('/Contrat/EnteteContrat/DescriptionJuridique' passing b.OBJECT_VALUE 
    		Columns 
    			NumeroContrat varchar2(20) path 'NumeroContrat' ,
    			DateEffet varchar2(20) path 'DateEffet',
    			PeriodiciteAppels varchar2(20) path 'PeriodiciteAppels',
    			EcheanceCotisation varchar2(20) path 'EcheanceCotisation',
    			Reseaux varchar2(20) path 'Reseaux',
    			Produit varchar2(20) path 'Produit'
    		) contrat,
     
    		XMLTABLE('/Contrat/EnteteContrat/CriteresBaremes/ListeCriteres/Critere' passing b.OBJECT_VALUE 
    		columns 
    			CodeCritere	 varchar2(20) path 'CodeCritere' ,
    			LibelleCritere varchar2(20) path 'LibelleCritere' ,
    			ValeurCritere varchar2(20) path 'ValeurCritere' 
    		) criteres
    Je rencontre actuellement un autre problème, dans mon fichier xml j'ai une balise de la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <ListeOptionSouscrite TypeOption="BASE" SuiviGestion="AA">
    Est-il possible de récupère les valeurs TypeOption et SuiviGestion.

    Voici l'exemple complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <ListeOptionSouscrites>
            <ListeOptionSouscrite TypeOption="BASE" SuiviGestion="AA">
              <Module>
                <CodeModule>M10MSANTEBASE</CodeModule>
                <LibelleModule>Option Base Msanté 2010</LibelleModule>
                <CodeNiveauGarantie>M10MSANTE9</CodeNiveauGarantie>
                <LibelleNiveauGarantie>MSante 2010 - Option 9</LibelleNiveauGarantie>
              </Module>
            </ListeOptionSouscrite>
            <ListeOptionSouscrite TypeOption="RENFORT" SuiviGestion="AB" />
          </ListeOptionSouscrites>
    Je voudrais donc crée une vue qui me retourne les valeurs du noeud "MODULE" (ca pas de souci) mais je voudrais y ajouter le champ type_option et suivi gestion qui sont présents dans la balise ListeOptionSouscrite mais je ne sais pas comment récupérer ces valeurs.

    Auriez vous des idées?

    Cordialement,
    MAthieu

Discussions similaires

  1. créer une vue à partir d'un fichier de mapping
    Par sajedose dans le forum Hibernate
    Réponses: 1
    Dernier message: 17/06/2008, 10h16
  2. [Débutant] Créer une matrice à partir d'un fichier .txt
    Par niepoc dans le forum MATLAB
    Réponses: 6
    Dernier message: 03/05/2008, 22h40
  3. [GD] Créer une image à partir d'un fichier
    Par MarcCC dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/01/2008, 23h03
  4. [DOM XML] Créer une image à partir d'un flux XML
    Par Just dans le forum Bibliothèques et frameworks
    Réponses: 13
    Dernier message: 09/11/2006, 17h33
  5. Comment Lire une valeur à partir d'un fichier XML en C++?
    Par Hamdi Hedhili dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 13/12/2005, 10h09

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