将 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 文件读入 XmlDocument 时如何忽略注释? [复制]