【发布时间】:2014-08-23 08:51:50
【问题描述】:
我有方法应该将对象列表保存到 xml 文件中
private void DumpToXMLFile(List<Url> urls, string fileName)
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
settings.NewLineOnAttributes = true;
settings.ConformanceLevel = ConformanceLevel.Auto;
using (XmlWriter writer = XmlWriter.Create(fileName, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("Countries");
foreach (var url in urls)
{
writer.WriteStartElement("Country");
writer.WriteElementString("Name", url.Name);
writer.WriteElementString("Url", url.Uri);
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndElement();
}
}
我得到了这个期望:
“System.InvalidOperationException”类型的未处理异常 发生在...
附加信息:处于 EndRootElement 状态的令牌 EndElement 将 导致无效的 XML 文档。确保 ConformanceLevel 设置设置为 ConformanceLevel.Fragment 或 ConformanceLevel.Auto 如果你想写一个 XML 片段。
尝试使用 ConformanceLevel.Fragment,但遇到异常,如果我想保存 xml 文件,我应该使用 ConformanceLevel.Auto。
【问题讨论】: