我在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,你是我唯一的希望......
答案 0 :(得分:2)
这是我能够让它发挥作用的唯一方式:
System.Text.UnicodeEncoding.Unicode.GetString(...).Trim()
.Trim()删除BOM。我不确定这是否是“正确的”方式,但它是目前唯一有效的方法。