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 :

XML via Oracle: Problème de balise


Sujet :

PL/SQL Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 5
    Points : 4
    Points
    4
    Par défaut XML via Oracle: Problème de balise
    Bonjour,

    Je génère un fichier XML à partir d'Oracle.
    Pour ca j'utilise le code suivant dans la boucle d'un curseur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT XMLelement("MaBaliseXML",
                     XMLattributes(maDonne1 AS "MonAttribut1",
                                   maDonne2 AS "MonAttribut2"))
      INTO monXML
      FROM dual;
    Je souhaiterais que toutes les balises qui n'ont pas de balises filles se ferment sans balise fermante:
    exemples :
    <MaBalise /> : ok
    <MaBalise></MaBalise> : ko

    De plus je voudrais que mon fichier n'affiche qu'une seule balise par ligne.

    Si j'affiche le résultat dans n'importe quel navigateur web c'est bon.
    Par contre si j'ouvre le fichier via un éditeur style textpad, notepad++, etc, je me rend compte que quelques balises sont fermées de la mauvaise manière et qu'une même ligne peut contenir plusieurs balises différentes.

    Exemple:
    sous I.E.:
    <ENT>
    <BAL1 />
    <BAL2 />
    <BAL2 />
    <BAL2 />
    <BAL3 />
    </ENT>

    Sous Textpad :
    <ENT>
    <BAL1></BAL1><BAL2></BAL2><BAL2></BAL2>
    <BAL3></BAL3>
    </ENT>

    Est ce possible de gérer ces différents points lors de la création du fichier par Oracle ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Si vous encapsulez avec XMLRoot, vous devriez parvenir à vos fins :
    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
    With SR as
    (
    select null as nom, null as md1, null as md2 from dual union all
    select 'Titi'     , 'Toto'     , 'Tutu'      from dual
    )
    SELECT XMLRoot(
              XMLElement("MaBaliseXML",
                 XMLAttributes(
                    md1 AS "MonAttribut1",
                    md2 AS "MonAttribut2"
                              ),
                    nom
                        ),
                   version '1.0" encoding="UTF-8'
                  ) as monXML
      FROM SR;
     
    MONXML
    <?xml version="1.0" encoding="UTF-8"?>
    <MaBaliseXML/>
     
    <?xml version="1.0" encoding="UTF-8"?>
    <MaBaliseXML MonAttribut1="Toto" MonAttribut2="Tutu">Titi</MaBaliseXML>

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Parfait !!!
    C'est exactement ce que je cherchais.
    Merci pour votre aide.

    Par contre, lors de la création de mon fichier, j'insérai la balise <?xml version="1.0" encoding="UTF-8" ?> en dur (sans passer par xmlroot), suivi d'une balise <!doctype ...>.

    J'ai bien ma balise <?xml version="1.0" encoding="UTF-8" ?> par contre je ne trouve pas comment insérer cette balise doctype dans mon objet xml.

    Si quelqu'un a une idée je suis preneur.

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

Discussions similaires

  1. [XML] Génération fichier XML pour RSS via PHP, problème lors de l'écriture
    Par gator dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 04/02/2012, 18h17
  2. [Oracle] Problème d'insertion de ligne via JDBC
    Par Invité dans le forum JDBC
    Réponses: 3
    Dernier message: 17/07/2007, 12h21
  3. Réponses: 7
    Dernier message: 23/07/2006, 20h01
  4. Réponses: 4
    Dernier message: 14/06/2006, 11h07
  5. Generer du xml via SQL(oracle) avec de l'asp
    Par jpg dans le forum XQUERY/SGBD
    Réponses: 6
    Dernier message: 03/08/2004, 12h36

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