将 XML 文件读入 XmlDocument

Posted

技术标签:

【中文标题】将 XML 文件读入 XmlDocument【英文标题】:Read XML file into XmlDocument 【发布时间】:2012-02-24 16:12:34 【问题描述】:

我对 C# 很陌生。我有 XML 文件(text.xml)。我想在XmlDocument 中读取它并将流存储在字符串变量中。

【问题讨论】:

感谢两位的帮助。 【参考方案1】:

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

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

【讨论】:

XmlDocument 不包含Load 的定义。 我对所有这些都投了反对票,因为它们都不起作用。事实证明,我正在为 WindowsRT 进行开发,而 Compact .NET Framework 去除了很多这些功能。包括很多我需要的...比如XmlDocument.Load()和StreamReader构造函数StreamReader(filePath) @MattClark:我感受到你的痛苦——两年来我一直在与 CF 的变幻莫测和局限性作斗争——但这不是拒绝投票的理由。 OP 没有指定 CF,因此回答者没有理由考虑 CF。【参考方案2】:

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

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

根据您感兴趣的内容,您可能可以跳过整个“字符串”var 部分而只使用 Xlinq 对象

【讨论】:

【参考方案3】:

如果您的 .NET 版本高于 3.0,您可以尝试使用 System.Xml.Linq.XDocument 而不是 XmlDocument。使用XDocument 更容易处理数据。

【讨论】:

下面是使用 XDocument 加载文件的方法:***.com/questions/670563/linq-to-read-xml【参考方案4】:
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);
    

【讨论】:

【参考方案5】:
var doc = new XmlDocument(); 
doc.Loadxml(@"c:\abc.xml");

【讨论】:

请注意,问题还需要将 XML 内容存储到字符串中。 XmlDocument.LoadXml() 加载一个 XML 字符串。要按名称加载 XML 文件,请按照公认答案的建议使用 XmlDocument.Load()

以上是关于将 XML 文件读入 XmlDocument的主要内容,如果未能解决你的问题,请参考以下文章

将 XML 文件读入 C# DataSet 的问题

将 XML 文件读入 XmlDocument 时如何忽略注释? [复制]

将文件中的值读入 applicationContext.xml 文件

读入 XML 到文件 Java

对XML文件进行的修改

HttpContext.Current.Server未将对象引用到实例