2012-02-01 2 views
89

Sono molto nuovo in C#. Ho un file XML (text.xml). Voglio leggerlo in XmlDocument e memorizzare il flusso nella variabile stringa.Leggi il file XML in XmlDocument

+0

entrambi grazie per il vostro aiuto. – AJP

risposta

142

Utilizzare il metodo XmlDocument.Load() per caricare XML dal file. Quindi utilizzare la proprietà XmlDocument.InnerXml per ottenere la stringa XML.

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

eccellente soluzione – Nirman

+1

'XmlDocument' non contiene una definizione per' Carica'. –

+2

lo fa: http://msdn.microsoft.com/en-us/library/875kz807(v=vs.110).aspx –

3

Spero non vi dispiace Xml.Linq e .net3.5 +

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

a seconda di ciò che ti interessa, probabilmente si può saltare l'intero 'stringa' parte var e basta usare XLinq oggetti

14

Se la versione .NET è più recente della 3.0, è possibile provare a utilizzare System.Xml.Linq.XDocument anziché XmlDocument. È più semplice elaborare i dati con XDocument.

+0

grazie per il vostro aiuto. – AJP

+0

Ed ecco come caricare un file usando XDocument: http://stackoverflow.com/questions/670563/linq-to-read-xml –

1
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
XmlDocument doc=new XmlDocument(); 
Doc.Loadxml(@"c:\abc.xml"); 
+0

Nota la domanda richiede anche di memorizzare il contenuto XML in una stringa. – mins

+0

'XmlDocument.LoadXml()' carica una stringa XML. Per caricare un file XML per nome, usa 'XmlDocument.Load()' come suggerisce la risposta accettata. –