SSIS中的XML列具有字节顺序标记

时间:2010-02-23 21:38:48

标签: sql-server xml encoding ssis

我在SSIS包中使用oledb数据源从数据库中提取列。该列是XML数据类型。在SSIS中,它会自动识别为数据类型DT_NTEXT。它将转到一个脚本组件,我正在尝试将其加载到System.Xml.XmlDocument中。这是我用来将xml数据转换为字符串的代码:

System.Text.Encoding.Default.GetString(Row.Data.GetBlobData(0, Row.Data.Length))

这是正确的方法吗?

我看到的一件奇怪的事情是,在一台服务器上,我在结果字符串中得到一个字节顺序标记,而另一台服务器我得不到。我不介意知道为什么会这样,但我真正的愿望是如何获得没有BOM的字符串。

帮助我,Stack Overflow,你是我唯一的希望......

1 个答案:

答案 0 :(得分:2)

这是我能够让它发挥作用的唯一方式:

System.Text.UnicodeEncoding.Unicode.GetString(...).Trim()

.Trim()删除BOM。我不确定这是否是“正确的”方式,但它是目前唯一有效的方法。