【问题标题】:XML column in SSIS has byte-order-markSSIS 中的 XML 列具有字节顺序标记
【发布时间】:2010-02-23 21:38:47
【问题描述】:

我在 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,你是我唯一的希望......

【问题讨论】:

    标签: sql-server xml encoding ssis


    【解决方案1】:

    这是我能够让它工作的唯一方法:

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-17
      • 2023-03-28
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多