c# - 更改 StringWriter xml 节点输出

我正在使用 .NET Core 3.1

有什么方法可以编辑 StringWriter 输出的 xml 节点吗?

例如,我想更改“utf-8”的大小写。当前的输出如下所示。

<?xml version="1.0" encoding="utf-8"?>

我的代码如下所示。

public class MyStringWriter: StringWriter
{
    public override Encoding Encoding => Encoding.UTF8;
}

我写出 xml 的函数

using (TextWriter tw= new MyStringWriter())
{
    using (var xw = XmlWriter.Create(tw))
    {
        xmlDoc.WriteTo(xw);
    }
    var output = tw.ToString();
}

回答1

您可以手动编写 Xml 声明:

using (TextWriter tw= new MyStringWriter())
{
    using (var xw = XmlWriter.Create(tw))
    {
        xw.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-8'");
        xmlDoc.WriteTo(xw);
    }
    var output = tw.ToString();
}

相似文章

perl - cpan 模块安装失败,没有缺少先决条件

只是试图安装一个CPAN模块,似乎没有缺少任何先决条件,并且似乎找不到任何指向我需要做些什么来解决这个问题。有人可以理解问题可能是什么吗?除非我绝对确定它可能只是测试的问题,否则我宁愿不强制安装。我查...

最新文章