输入:我的输入文件是 XML 文件。它们由 SSIS 中的 foreach 文件枚举器读取。
过程:SSIS 脚本组件 (C#) 从变量中读取文件名。我创建了一个 XSL 文件,用于将 XML 转换为必要的格式。脚本任务使用 XSL 文件,并将 XML 文件转换为文本
这是我使用的一段代码:
public override void CreateNewOutputRows()
{
XslCompiledTransform transformer = new XslCompiledTransform();
transformer.Load(_xsltFile);
transformer.Transform(_fileName, @"C:\macro3\outputTestFile.txt");
}
问题:
正如预期的那样,这会将转换后的文本内容写入上述输出文件。我想通读每一行,处理它,然后加载到数据库。
现在,写入文件,再次读取它是一种开销。
有没有办法可以将转换后的内容读入任何对象并对其进行迭代(而不实际写入文件)?像流什么的?
或者:
尽管SSIS“XML 任务”具有“操作类型 = XSLT”功能,但如果“SourceType”是变量并且我在变量中给出带有路径的文件名,则它不会读取 XML。它期望变量中的 XML 内容。任何可能的解决方法?
请在评论中询问具体细节,以便我进行相应更新。谢谢你。