c# - 如何使用 XmlWriter 编写格式不正确的 xml

标签 c# xml streamwriter xmlwriter

首先,我不喜欢这样做。这不是我的选择。

我需要将信息写入 xml 文档。 xml 的 simpleContent 可能包含 &。我希望这些以 & 的形式写入文件,而不是 &

我该怎么做?我猜它包括一个 StreamWriter 之类的东西:

 private void SaveCaption_Click(object sender, EventArgs e)
    {
        if (saveCaptionDialog.ShowDialog() == DialogResult.OK)
        {
            using (StreamWriter writer = new StreamWriter(saveCaptionDialog.FileName, null))
            {
                using (XmlWriter xmlWriter = XmlWriter.Create(writer))
                {
                    xmlWriter.Formatting = Formatting.Indented;
                    xmlWriter.Indentation = 4;
                    xmlWriter.WriteStartDocument();
                    xmlWriter.WriteStartElement("tt");
                    ...
                    xmlWriter.WriteEndElement();
                    xmlWriter.WriteEndDocument();
                }
            }
            //streamWriter do your thing
        }

    }

最佳答案

仅在绝对必要时才执行此操作;这不是符合标准的 XML。

只有您才能防止 XML 火灾。

使用WriteRaw()方法:

        XmlWriter writer;

        writer = XmlWriter.Create( @"C:\users\account\desktop\test.xml" );

        writer.WriteStartDocument();
        writer.WriteStartElement( "TestElement" );
        writer.WriteRaw( "Hello & goodbye" );
        writer.WriteEndElement();
        writer.WriteEndDocument();

        writer.Flush();
        writer.Close();

生成输出:

<?xml version="1.0" encoding="utf-8"?><TestElement>Hello & goodbye</TestElement>

关于c# - 如何使用 XmlWriter 编写格式不正确的 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24498929/

相关文章:

c# using 语句和 StreamWriter

c# - 将许多变量写入文本文件

c# - 将大文件写入磁盘内存不足异常

c# - 在 WPF 面板中托管外部应用程序

c# - 委托(delegate)的复杂使用

java - Java中输出文件中XML属性的控制顺序

java - Netbeans build-impl.xml 搞砸了

c# - .NET 操作在多核机器上的非线性扩展

c# - 无效的表达式项 "else"| ;预期 (C#)

xml - 如何注释掉 XML 中的标签 block ?