将XML文件读入XmlDocument


103

我是C#的新手。我有XML文件(text.xml)。我想读入XmlDocument并将流存储在字符串变量中。


1
谢谢你们的帮助。
AJP 2012年

Answers:


169

使用XmlDocument.Load()方法从文件中加载XML。然后使用XmlDocument.InnerXml属性获取XML字符串。

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

2
XmlDocument不包含的定义Load
马特·克拉克

我拒绝所有这些,因为它们都不起作用。事实证明,我正在开发WindowsRT,而Compact .NET Framework去除了许多这些功能。包括我需要的很多... XmlDocument.Load()和和StreamReader构造函数StreamReader(filePath)
Matt Clark

11
@MattClark:我感到您很痛苦-两年来,我一直在努力应对CF的多变和局限性-但这并不是拒绝投票的理由。OP没有指定CF,因此,没有任何理由回答者会考虑CF。
B. Clay Shannon


6

希望您不要介意Xml.Linq和.net3.5 +

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

根据您感兴趣的内容,您可以跳过整个“字符串” var部分,而仅使用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");

请注意,该问题还需要将XML内容存储到字符串中。
分钟

XmlDocument.LoadXml()加载XML字符串。要按名称加载XML文件,请使用XmlDocument.Load()已接受的答案。
弗朗索瓦·博恩
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.