0

我通过 web 服务任务得到变量的结果,如下图所示,

在此处输入图像描述

然后我使用 XML 任务删除多余的命名空间,并将处理后的结果存储在 strProcessedResult 变量中的另一个变量中,如下图所示,

在此处输入图像描述

这里第二个操作数是我的data.xslt文件,它有助于从我的 XML 文件中删除额外的命名空间,

下面是我的控制流的整个结构,

在此处输入图像描述

在数据流中,我使用 XML 源来读取我的变量并将数据输入数据库,下面是 XML 源的屏幕截图,

在此处输入图像描述,

在这里,它给了我错误,因为 XML 源无法读取数据并且 XMLDataVariable 为空,我想读取节点值并使用 OLEDB Destination 将数据插入数据库,

如果不是将 Web 服务任务的结果保存到变量中,而是将其保存在外部的 XML 文件中,那么下面将是我的 XML 文件格式,

<?xml version="1.0" encoding="utf-16"?>
 <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name xmlns="http://localhost">Rahul</Name>
  <BirthDate xmlns="http://localhost">1991-04-20T00:00:00</BirthDate>
 </Data>.

在应用 XSLT 规则删除多余的命名空间后,我的 XML 文件将如下所示,

<?xml version="1.0" encoding="utf-8"?><Data><Name>Rahul</Name><BirthDate>1991-04-20T00:00:00</BirthDate></Data>

请注意,我必须强制添加 XSLT 规则以删除额外的命名空间,否则它不会为进一步操作创建 XSD,而且我的项目运行良好如果我将结果存储在外部 XML 文件中但我想使用变量对于整个操作,

4

1 回答 1

0

确保在设计时您的strProcessedResult变量中确实有一些东西。我的意思是:当你运行你的包时,它会加载变量,但在设计时你的变量将是空的,所以粘贴你预期的 XML,只是为了给任务一些处理。

于 2013-09-29T22:53:22.830 回答