XML-Datei in XmlDocument lesen


103

Ich bin sehr neu in C #. Ich habe eine XML-Datei (text.xml). Ich möchte das einlesen XmlDocumentund den Stream in einer Stringvariablen speichern.


1
Vielen Dank für Ihre Hilfe.
AJP

Antworten:


169

Verwenden Sie die XmlDocument.Load()Methode, um XML aus Ihrer Datei zu laden. Verwenden Sie dann die XmlDocument.InnerXmlEigenschaft, um die XML-Zeichenfolge abzurufen.

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

2
XmlDocumententhält keine Definition für Load.
Matt Clark

Ich habe all dies abgelehnt, weil keines von ihnen funktioniert hat. Wie sich herausstellt, entwickle ich für Windows RT, und in Compact .NET Framework wurden viele dieser Funktionen entfernt. Einschließlich vieler von denen, die ich brauche ... Wie XmlDocument.Load()und und der StreamReader-KonstruktorStreamReader(filePath)
Matt Clark

11
@MattClark: Ich fühle deinen Schmerz - ich habe seit zwei Jahren mit den Unwägbarkeiten und Einschränkungen von CF zu kämpfen - aber das ist kein Grund, abzustimmen. Das OP hat keine CF angegeben, und daher gibt es keinen Grund, warum die Antwortenden CF berücksichtigen würden.
B. Clay Shannon


6

Ich hoffe, es macht Ihnen nichts aus Xml.Linq und .net3.5 +

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

Je nachdem, woran Sie interessiert sind, können Sie wahrscheinlich den gesamten var-Teil 'string' überspringen und einfach XLinq-Objekte verwenden


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");

Beachten Sie, dass für die Frage auch der XML-Inhalt in einer Zeichenfolge gespeichert werden muss.
Minuten

XmlDocument.LoadXml()Lädt eine XML-Zeichenfolge. Verwenden Sie XmlDocument.Load()zum Laden einer XML-Datei nach Namen, wie in der akzeptierten Antwort angegeben.
François Beaune
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.