首页 > 解决方案 > 使用 UTF-8 编码的 WriteXML

问题描述

美好的一天!我创建了一个运行 SQL 查询的 SSIS 包,将结果存储在变量中,然后使用脚本任务导出到 XML 文件中。C# 代码非常简单,只有几行代码,并使用 WriteXML 将数据从 SSIS 变量移动到文件中。但是,当生成 XML 文件时,顶部的声明将填充:

?xml 版本=“1.0”独立=“是”?

我需要使用以下文件填充文件:

?xml 版本=“1.0”编码=“utf-8”?

下面是我添加到 C# 脚本中的所有代码,我一生都无法弄清楚在哪里或如何更改 XML 文件中的声明(谷歌搜索的小时数)。您可以看到我已经尝试并删除了 XMLWriterSettings 部分,因为它没有解决我的问题。有什么想法吗?这是我遗漏的简单事情还是我的代码需要以不同的方式编写?提前感谢您花时间阅读本文。

    public void Main()
    {
        DataTable dt;

        //XmlWriterSettings ws = new XmlWriterSettings
        //{
        //    Encoding = System.Text.Encoding.UTF8
        //};

        dt = (new DataSet("Detail")).Tables.Add("Table1");

        (new OleDbDataAdapter()).Fill(dt, Dts.Variables["User::Table1"].Value);

        dt.WriteXml(@"C:\Users\charris\Documents\TestFileOutput\Result.xml");
        Dts.TaskResult = (int)ScriptResults.Success;
    }

标签: c#xmlutf-8xmlwriter

解决方案


推荐阅读