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.