Leia o arquivo XML em XmlDocument


103

Eu sou muito novo em C #. Tenho o arquivo XML (text.xml). Eu quero ler isso XmlDocumente armazenar o fluxo na variável string.


1
obrigado a ambos pela ajuda.
AJP de

Respostas:


169

Use o XmlDocument.Load()método para carregar XML do seu arquivo. Em seguida, use a XmlDocument.InnerXmlpropriedade para obter a string XML.

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

2
XmlDocumentnão contém uma definição para Load.
Matt Clark

Eu votei contra todos eles porque nenhum deles funcionou. Acontece que estou desenvolvendo para WindowsRT, e o Compact .NET Framework tem muitos desses recursos eliminados. Incluindo muitos dos que preciso ... Como XmlDocument.Load()e e o construtor StreamReaderStreamReader(filePath)
Matt Clark

11
@MattClark: Eu sinto sua dor - tenho lutado com os caprichos e limitações da FC há dois anos - mas isso não é motivo para votar negativamente. O OP não especificou CF e, portanto, não há motivo para os respondentes levarem CF em consideração.
B. Clay Shannon


6

Espero que você não se importe com Xml.Linq e .net3.5 +

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

Dependendo do que você está interessado, você provavelmente pode pular toda a parte var 'string' e apenas usar objetos 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");

Observe que a pergunta também requer o armazenamento do conteúdo XML em uma string.
min.

XmlDocument.LoadXml()carrega uma string XML. Para carregar um arquivo XML por nome, use XmlDocument.Load()como a resposta aceita sugere.
François Beaune
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.