Partage
  • Partager sur Facebook
  • Partager sur Twitter

[.Net/Mono] Lire un string avec les classes XML

Sujet résolu
    25 avril 2011 à 11:32:44

    Bonjour

    Je dispose du contenu d'un fichier xml sous forme de string (un seul string).

    Y a-t-il un moyen quelconque qui me permettrait de transformer ce string de manière à pouvoir utiliser l'une des classes de lecture de System.Xml. A priori il faudrait pouvoir le transformer en System.IO.Stream ou System.IO.TextReader par exemple.

    Notez bien que je ne connais pas le chemin du fichier, et que je ne peux récupérer sa valeur autrement que dans un unique string (qui contient tous les tags xml et leur arborescence).

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      25 avril 2011 à 11:50:16

      Le StringReader est un TextReader servant à lire le contenu d'une string:

      using System.IO;
      using System.Xml.Linq;
      
      string xmlContent = "<bla>...</bla>";
      XDocument doc = XDocument.Load(new StringReader(xmlContent));
      
      • Partager sur Facebook
      • Partager sur Twitter
        25 avril 2011 à 12:12:08

        Tout simplement. :)

        J'avais aussi pensé à créer un fichier avec mon contenu à un endroit connu puis à lire le fichier.
        Ça aurait pu marcher, mais ça aurait sans doute été beaucoup plus lourd pour le système.

        Moi qui utilise Mono (avec Unity3D), je fais plutôt :
        using System.IO;
        using System.Xml; //System.Xml.Linq n'existe pas avec Mono
        
        XmlTextReader xmlFile = new XmlTextReader(new StringReader(file.text));
        


        Bref, merci Orwell.
        • Partager sur Facebook
        • Partager sur Twitter
          25 avril 2011 à 12:36:13

          Tiens, j'ignorais que Mono ne supportait pas (encore ?) Linq to XML :o Ce n'est pourtant plus si récent :euh:
          • Partager sur Facebook
          • Partager sur Twitter
            25 avril 2011 à 14:54:05

            :euh:

            Je vais laisser ça ici

            http://www.mono-project.com/Release_No [...] 6#LINQ_to_SQL

            EDIT :

            Et même
            ceci aussi.

            Citation : mono-project


            Microsoft Compatible APIs
            System.Xml.Linq: Provides a LINQ provider for XML.

            • Partager sur Facebook
            • Partager sur Twitter
              25 avril 2011 à 15:29:54

              Ok, pourtant autant System.Data.Linq que System.Xml.Linq n'apparaissent pas dans la doc (là où je vais toujours) : http://www.go-mono.com/docs/
              • Partager sur Facebook
              • Partager sur Twitter
                25 avril 2011 à 15:49:56

                Je me disais bien que ces libs devaient être présentes dans Mono :)
                On dirait qu'ils ont du retard dans la doc ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  25 avril 2011 à 15:55:39

                  Avec l'expérience, on se rend compte qu'on ne peux (malheureusement) pas toujours se fier sur la doc ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [.Net/Mono] Lire un string avec les classes XML

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown