Lire le fichier XML dans XmlDocument


103

Je suis très nouveau sur C #. J'ai un fichier XML (text.xml). Je veux lire cela XmlDocumentet stocker le flux dans une variable de chaîne.


1
Merci à vous deux pour votre aide.
— AJP

Réponses:


169

Utilisez la XmlDocument.Load()méthode pour charger XML à partir de votre fichier. Ensuite, utilisez la XmlDocument.InnerXmlpropriété pour obtenir une chaîne XML.

XmlDocument doc = new XmlDocument();
doc.Load("path to your file");
string xmlcontents = doc.InnerXml;

2
XmlDocumentne contient pas de définition pour Load.
— Matt Clark

J'ai décliné tous ces éléments car aucun d'entre eux n'a fonctionné. Il s'avère que je développe pour WindowsRT, et le Compact .NET Framework a beaucoup de ces fonctionnalités supprimées. Y compris beaucoup de ceux dont j'ai besoin ... Comme XmlDocument.Load()et et le constructeur StreamReaderStreamReader(filePath)
— Matt Clark

11
@MattClark: Je ressens votre douleur - je lutte contre les caprices et les limites de la mucoviscidose depuis deux ans maintenant - mais ce n'est pas une raison de voter contre. Le PO n'a pas spécifié CF, et il n'y a donc aucune raison pour laquelle les répondants prendraient CF en considération.
— B. Clay Shannon


6

J'espère que cela ne vous dérange pas Xml.Linq et .net3.5 +

XElement ele = XElement.Load("text.xml");
String aXmlString = ele.toString(SaveOptions.DisableFormatting);

Selon ce qui vous intéresse, vous pouvez probablement ignorer toute la partie var 'string' et simplement utiliser des objets XLinq


6
XmlDocument doc = new XmlDocument();
   doc.Load("MonFichierXML.xml");

    XmlNode node = doc.SelectSingleNode("Magasin");

    XmlNodeList prop = node.SelectNodes("Items");

    foreach (XmlNode item in prop)
    {
        items Temp = new items();
        Temp.AssignInfo(item);
        lstitems.Add(Temp);
    }

1
var doc = new XmlDocument(); 
doc.Loadxml(@"c:\abc.xml");

Notez que la question nécessite également de stocker le contenu XML dans une chaîne.
— min

XmlDocument.LoadXml()charge une chaîne XML. Pour charger un fichier XML par nom, utilisez XmlDocument.Load()comme le suggère la réponse acceptée.
— François Beaune
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.