我正在尝试写入 XML 文档,从列表的 ArrayList 中获取数据
for (int i = 0; i < 15; i++)
{
string headname = (headers[0] as List<string>)[i];
headname.Replace("&", "&");
headname.Replace("<", "<");
headname.Replace(">", ">");
headname.Replace("\"", """);
headname.Replace("'", "'");
textWriter.WriteStartElement("MetadataName", "");
textWriter.WriteString(headname);
textWriter.WriteEndElement();
我遇到的问题是,在它通过 for 循环一次后,我在 WriteStartElement 的行上得到一个“Epilog 状态的 token StartElement 会导致无效的 XML 文档”错误,我已经尝试查看如何修复它并没有真正取得任何突破。谢谢。
编辑更新。
最佳答案
XML 文档将有一个根元素,即包含所有其他元素的元素。你没有一个
你的文档就像
<MetadataName><header0/><header1/></MetadataName>
<MetadataName><header0/><header1/></MetadataName>
XML 文档就像
<root>
<MetadataName><header0/><header1/></MetadataName>
<MetadataName><header0/><header1/></MetadataName>
</root>
您需要围绕循环使用 WriteStartElement 和 WriteEndElement
关于c# - 在 C# 中写入 XML - 'Token StartElement in state Epilog would result in an invalid XML document' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3288606/