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

Windows Forms Discussion :

[C#] retourner flux XML dans String[]


Sujet :

Windows Forms

  1. #1
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut [C#] retourner flux XML dans String[]
    Bonjour à tous,

    je dois développer une fonction qui recoit en paramètre d'entrée un buffer de type string.
    Cette fonction est cencé retourner ce même buffer contenant un flux xml que j'aurai crée.

    Jusqu'a présent je crée moi meme mon fichier xml à l'aide d'un "XmlTextWriter"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XmlTextWriter XmlTextWriter = new XmlTextWriter("xmlUser.xml", System.Text.Encoding.UTF8);
    Sauf que maintenant on m'impose de ne plus créer de fichier sur le disque, mais uniquement de remplir le buffer avec son contenu.

    Est-ce que quelqu'un à une idée de comment procéder ?

    En tout cas je vous remercie d'avance pour votre aides.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 109
    Points : 120
    Points
    120
    Par défaut
    As tu regardé tu coté de XmlDocument

    La méthode Load te permet de charger le document depuis une string

  3. #3
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut
    Citation Envoyé par karlus Voir le message
    As tu regardé tu coté de XmlDocument

    La méthode Load te permet de charger le document depuis une string

    Merci Karlus pour ta réponse.

    Mon soucis c'est qu'auparavant, c'etait moi qui crée le fichier xml, qui le remplissait et qui l'enregistrais dans le répértoire courant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    XmlTextWriter XmlTextWriter = new XmlTextWriter("xmlUser.xml", System.Text.Encoding.UTF8);
    XmlTextWriter.WriteStartDocument();
    XmlTextWriter.WriteStartElement("Root");
    XmlTextWriter.WriteElementString("Type","chaine");
    XmlTextWriter.WriteEndElement();
       XmlTextWriter.Flush();
       XmlTextWriter.Close();
    Or, maintenant je dois bosser à partir d'un buffer de string[] sans passer par la création "physique" du fichier Xml sur le disque.

    Idealement faire les meme manipulations sans passer par un "xmlTextWriter"

    Voila, j'espere avoir été assez clair.

    Merci encore pour votre aides,

    Cordialement,

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 109
    Points : 120
    Points
    120
    Par défaut
    Et bien tu peux très bien utiliser XmlDocument pour ça. Tu peux ajouter des XmlNodes à ton XmlDocument ( via la méthode AppendChild ) à partir de ton
    buffer de string[]. XmlDocument te permet de modeler ton xml comme tu le souhaites sans avoir besoin d'écrire sur le disque.
    Si tu es en 3.5 tu peux envisager d'utiliser XDocument ( cf LINQ to XML )

  5. #5
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut
    Citation Envoyé par karlus Voir le message
    Et bien tu peux très bien utiliser XmlDocument pour ça. Tu peux ajouter des XmlNodes à ton XmlDocument ( via la méthode AppendChild ) à partir de ton
    buffer de string[]. XmlDocument te permet de modeler ton xml comme tu le souhaites sans avoir besoin d'écrire sur le disque.
    Si tu es en 3.5 tu peux envisager d'utiliser XDocument ( cf LINQ to XML )

    Merci encore KArlus pour tes réponses rapides.
    Par contre je pense qu'on ne c'est pas bien compris

    ######### En faites voila comment je procedait :

    _ création de mon fichier xml
    _ remplissage depuis mon application
    _ fermeture fichier et mémorisation sur répértoire courant.

    ######### maintenant ce que je veut faire :

    _ remplissage de mon buffer depuis mon application
    _ retourner mon buffer

    En faites je voudrais faire la meme chose qu'avant, mais sans passer par la création d'un fichier XML.

    Voila j'espere avoir été assez clair

    Merci encore,

  6. #6
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut
    Petites news, j'ai vu qu'il etait possible de donner à l'instanciation du xmlTextWriter une variable de type "Stream".

    Donc au lieu de déclarer mon objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XmlTextWriter XmlTextWriter = new XmlTextWriter("xmlUser.xml", System.Text.Encoding.UTF8);
    je peu faire :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XmlTextWriter XmlTextWriter = new XmlTextWriter(System.IO.Stream, System.Text.Encoding.UTF8);
    Quelqu'un saurait comment utiliser "Stream".

    Ce n'est qu'une piste mais si vous avez mieux à me proposer, je suis preneur.

    Merci d'avance,

  7. #7
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut
    Bon finalement j'ai réussi ma manipulation.

    Voici comment j'ai procedé, ca aidera peu etre quelqu'un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    using System.Xml;
    using System.IO;
    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
     
            Stream streamData = new MemoryStream();
     
            XmlTextWriter XmlTextWriter = new XmlTextWriter(streamData,System.Text.Encoding.UTF8);
     
    // On remplit son xmlTextWriter
    XmlTextWriter XmlTextWriter = new XmlTextWriter("xmlUser.xml", System.Text.Encoding.UTF8);
    XmlTextWriter.WriteStartDocument();
    XmlTextWriter.WriteStartElement("Root");
    XmlTextWriter.WriteElementString("Type","chaine");
    XmlTextWriter.WriteEndElement();
     
       XmlTextWriter.Flush(); //vide le buffer
     
    // Positionne le streamData au debut
       streamData.Position = 0;
     
     
       StreamReader sr = new StreamReader(streamData);
     
    string xmlOut = sr.ReadToEnd();
     
       Console.Write(xmlOut);
     
    sr.Close();
    Je tiens à remercier Karlus pour sa précieuse aide.

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

Discussions similaires

  1. Récupérer un flux XML dans le navigateur
    Par g0g059 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 27/07/2010, 10h20
  2. recuperation d'un flux xml dans une servlet et le parser
    Par benfarhat dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/06/2009, 15h34
  3. [SimpleXML] Importer un flux XML dans une table
    Par antitrust56 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 26/09/2008, 19h10
  4. exploiter le contenu des fluxs xml dans un site
    Par istreen dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 07/08/2008, 14h49
  5. Créer un flux XML dans un dataHandler
    Par flethiel dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 25/09/2007, 12h03

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