通过SSIS使用ForEach循环容器循环遍历XML节点

时间:2013-09-25 11:56:54

标签: xml xpath ssis foreach-loop-container

以下是我的XML文件

<?xml version="1.0" encoding="ISO-8859-1"?>
 <DataResult>
  <Data>
   <Name lang="eng">Reshma</Name>
   <Birth Date>1988-09-23T00:00:00</Birth Date>
  </Data>
 <Data>
   <Name lang="eng">Rahul</Name>
   <Birth Date>1991-09-23T00:00:00</Birth Date>
 </Data>
</DataResult>

我正在尝试将此XML节点值读入for each循环容器,下面是每个循环容器设置的my,

enter image description here

现在我想从上面的XML文件中读取 Name 节点值并将该值输入数据库,我不能先取一个变量,先读取第一个名称节点值并更新数据库并再次由另一个名称节点重写相同的变量并更新数据库,因为我的主xml文件将有n个名称节点。

我的主要目的是将xml文件节点读入foreach循环,尝试了很多但无法获得解决方案,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是一个可能解决实际问题的可能解决方案。

就像我在评论中提到的,我不认为你实际上需要“foreach容器”。使用“XML Source”直接导入所有数据。接下来,根据您的“DT_WSTR”错误,我建议您使用“数据转换”或“派生列”组件为列添加最大长度。

enter image description here

最后,如果您将数据插入表中,则可以使用“OLE DB目标”。我的印象是你想更新一些现有数据,在这种情况下,我总是使用带有UPDATE语句的“OLE DB命令”。