【发布时间】:2013-10-01 00:09:55
【问题描述】:
下面是我的 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 循环容器,下面是我的 for each 循环容器设置,
现在我想从上面的 XML 文件中读取 Name 节点值并将该值输入数据库,我不能先使用单个变量读取第一个 Name将节点值写入其中并更新数据库并再次用另一个 Name 节点重写相同的变量并更新数据库,因为我的主 xml 文件将有 n 个 Name节点。
我的主要目的是将xml文件节点读入foreach循环,尝试了很多但无法得到解决方案,任何帮助将不胜感激。
【问题讨论】:
-
我不确定您是否真的需要 foreach 容器。为什么不直接通过“XML Source”读取整个文件,然后使用“OLE DB 命令”(每行数据执行一次)并使用具有适当 WHERE 条件的 UPDATE 语句? (如果您对如何执行此操作有任何疑问,请告诉我)
-
@TsSkTo.. 当我使用 XML 源时,我无法在 OLEDB 目标中获取 Name 值,它显示一些警告,例如没有为 xml source.output[Name] 指定最大长度.columns[lang] 具有外部数据类型 system.string。将使用长度为255的ssis数据流任务数据类型“DT_WSTR”以及为什么要使用sql命令,我不能通过OLEDB目标直接将数据插入数据库..
标签: xml xpath ssis foreach-loop-container