草庐IT

c# - 在 C# 中写入 XML - 'Token StartElement in state Epilog would result in an invalid XML document' 错误

coder 2024-06-24 原文

我正在尝试写入 XML 文档,从列表的 ArrayList 中获取数据

        for (int i = 0; i < 15; i++)
        {
            string headname = (headers[0] as List<string>)[i];
                headname.Replace("&", "&amp;");
                headname.Replace("<", "&lt;");
                headname.Replace(">", "&gt;");
                headname.Replace("\"", "&quot;");
                headname.Replace("'", "&apos;");
            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/

有关c# - 在 C# 中写入 XML - 'Token StartElement in state Epilog would result in an invalid XML document' 错误的更多相关文章

随机推荐