2011-10-10 55 views
0

在以下blog的帮助下:我创建了一个SQL Server Integration Services(SSIS)包。从.txt文件中读取我可以创建一个相对XML文件并将其保存在特定路径中。使用SSIS填充XML文件

但是,由于我必须循环超过50个或更多的txt文件并为其中的每个文件生成一个相对的xml文件,我希望能够使用相同的输入名称自动保存xml文件。

我已经看到,用foreach循环,我可以设置“.txt”作为输入文件,但我该如何指定动态地为xml输出文件输入文件名?
目前我使用文件连接管理器的硬编码路径来设置输出xml文件路径。

此外,不是通过VB脚本创建xml文件,而是可以创建XML模板并使用SSIS来相应地填充特定的关键字
喜欢的东西:

<root> 
    <product> 
     <name>[Prod_Name]</name> 
     <qty>[Prod_Qty]</qty> 
    </product> 
</root> 

回答

0

我在这里发布我的解决方案的情况下,它可能会帮助别人。 正如评论说我使用的脚本转换到动态创建XML标签的希望:

With xmlWriter    
.Write(FormatElement("rdf:Description rdf:about=""" + Me.Variables.strFileName + """ ")) 
.Write(FormatElement("Date") + "" + FormatElement("Date", True)) 
.Write(FormatElement("ValidFrom") + "" + FormatElement("ValidFrom", True)) 
.Write(FormatElement("ValidTo") + "" + FormatElement("ValidTo", True)) 

    .... 

End With 
2

使用System.IO.Path.GetFileNameWithoutExtension在脚本任务:

Public Sub Main() 
    Dim infile As String = CStr(Dts.Variables("InputFile").Value) 
    Dim outfile As String = System.IO.Path.GetFileNameWithoutExtension(infile) + ".xml" 
    Dts.Variables("OutputFile").Value = outfile 
    Dts.TaskResult = ScriptResults.Success 
End Sub 
+0

+1 - 我结束了与的XmlWriter wrtiting XML标签,我能达到同样的效果。但感谢提示。 – Francesco