在 SSIS 脚本任务中从 COM 对象 XML 结果集访问 属性

Accessing property from COM object XML Result Set in SSIS Script Task

我正在使用提供的 SSIS 包。大部头书。我需要从 SSIS 变量中提取 XML 数据,但找不到方法。

当我在脚本任务运行时遇到断点时,我可以将鼠标悬停在变量的值 属性 上。这向我展示了一个 COM 对象。当我展开 COM 对象以查看其属性时,我在名为 "xml" 的 属性 中看到了我需要的 XML 数据。我如何从代码中得到这个 属性 ?

var xmldata = Dts.Variables["User::MyVariableName"].Value;
//xmldata is a COM object with no properties available at design time

这是我尝试过的:

None这些东西都成功了。

好吧,看来我过早放弃使用 "dynamic"。

确保添加对 "Microsoft.CSharp" 的引用,然后执行类似于以下代码的操作:

var data = Dts.Variables["User::MyVariableName"]; //Assuming not null. 
var comObject = ((dynamic)data.value);
var propertyValue = comObject.PropertyYouNeed;  

确保您从 COM 对象中检索的 属性 拼写正确。直到 运行 时间才会发现拼写错误。