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

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

【问题讨论】:

  • 感谢两位的帮助。

标签: c# 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 更容易处理数据。

    【讨论】:

    【解决方案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()
      猜你喜欢
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 2020-06-30
      • 2013-08-21
      相关资源
      最近更新 更多