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.