Leggi il file XML in XmlDocument


103

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


1
grazie ad entrambi per il vostro aiuto.
AJP

Risposte:


169

Usa il XmlDocument.Load()metodo per caricare XML dal tuo file. Quindi utilizzare la XmlDocument.InnerXmlproprietà per ottenere la stringa XML.

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

2
XmlDocumentnon contiene una definizione per Load.
Matt Clark

Ho svalutato tutti questi perché nessuno di loro ha funzionato. A quanto pare, sto sviluppando per WindowsRT e Compact .NET Framework ha molte di queste funzionalità rimosse. Compresi molti di quelli di cui ho bisogno ... come XmlDocument.Load()e e il costruttore StreamReaderStreamReader(filePath)
Matt Clark

11
@ MattClark: Sento il tuo dolore - ho lottato con i capricci e i limiti della FC da due anni - ma non è un motivo per votare in negativo. L'OP non ha specificato CF, quindi non c'è motivo per cui i rispondenti avrebbero preso in considerazione CF.
B. Clay Shannon


6

Spero che non ti dispiaccia Xml.Linq e .net3.5 +

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

A seconda di ciò che ti interessa, puoi probabilmente saltare l'intera parte var 'stringa' e usare solo oggetti 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");

Nota che la domanda richiede anche di memorizzare il contenuto XML in una stringa.
min

XmlDocument.LoadXml()carica una stringa XML. Per caricare un file XML in base al nome, utilizzare XmlDocument.Load()come suggerisce la risposta accettata.
François Beaune,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.