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

PostgreSQL Discussion :

Récupération avec COPY TO dans un fichier XML


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut Récupération avec COPY TO dans un fichier XML
    Bonjour,


    Je suis un débutant en postgreSQL et cela fait deux semaines environ que je me familiarise avec ce nouvel environnement.
    Voilà mon problème
    J'exécute la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY (select function()) TO 'C:\\test\\monfichier.xml';
    function est une fonction renvoyant un TEXT que je voudrais mettre dans fichier de type XML car le texte renvoyé est de type XML évidemment.
    Jusque-là tout va bien, la commande s'exécute sans problème, le fichier est bien créé et tout a l'air de fonctionner.

    Mais lorsque j'ouvre le fichier, je remarque que tous les caractères d'échappement (\n,\r,\t...) n'ont pas été transformés en saut de ligne, retour chariot ou tabulation.
    J'ai eu beau chercher, je n'ai pas trouvé grand chose à ce sujet...

  2. #2
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Salut
    Comment ces caractères se sont trouvés dans le XML?
    Je pense qu'à l'origine ces caractères doivent être supprimés. Après exportation dans un fichier XML, un bon éditeur XML saura formater le contenu.
    @+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut
    Et bien en fait c'est moi qui ai inséré ces caractères dans le fichier pour que le document se forme directement avec les bonnes indentations.
    Mais avec votre solution, cela me paraît beaucoup plus simple, je n'y avais pas du tout pensé !

    Merci beaucoup en tout cas.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Pourquoi ne pas insérer... des retours chariot/tabulations/... !?
    éventuellement en utilisant leur caractère ASCII avec la fonction CHR([codeASCII])

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut
    Et bien en fait j'ai essayé également cette solution mais le résultat reste le même: cela affiche "\n \r ..."

    Néanmoins grâce à un petit contournement j'ai réussi à traduire les retours chariots, tabulations
    En effet grâce à la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY (SELECT FUNCTION()) TO 'C:\\test\\monfichier.xml' with csv;
    Les caractères d'échappement sont bien pris en compte.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut
    Petit problème qui m'empêche d'ouvrir le fichier XML dans le navigateur,

    lorsque je lance la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY (SELECT FUNCTION()) TO 'C:\\test\\monfichier.xml' with csv;
    Le fichier se crée mais des guillemets " se placent automatiquement au début et à la fin du fichier.
    Y a t-il un moyen d'y remédier ? Ou bien y a t-il une autre méthode pour copier une chaîne de caractères dans un fichier ?

    Merci de votre réponse.

Discussions similaires

  1. Besoin d'aide pour mise en page avec 2 images, dans un fichier xml
    Par guillaume7684 dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 30/03/2011, 18h25
  2. [JDOM] Copie et suppresion d'un element dans un fichier xml
    Par riderfun dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 24/03/2009, 10h59
  3. ecrire dans un fichier xml avec php
    Par gilbertbicot dans le forum Langage
    Réponses: 1
    Dernier message: 21/01/2009, 13h10
  4. [XSLT]Récupération d'information dans un fichier XML
    Par LoDev dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/01/2008, 09h36
  5. Copy/paste dans un fichier xml en VB .Net
    Par RaphTIM dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/05/2007, 21h07

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