我想从许多.tgz获取XML文件。
我已经尝试过这个tp读取一个tgz文件:
folder/file | regex
tgz:C:\tmp\file_01.tgz! | .*\.xml
但在我的情况下,我不知道可以有多少.tgz文件。 我尝试这样的东西,但它不起作用:
tgz:C:\tmp\file_*.tgz!
答案 0 :(得分:0)
创建作业(不是转换),并使用带有正则表达式的Unzip file
解压缩临时目录中的所有文件。在Advanced tab
点击Add extracted file to result
上,在内部保存解压缩文件的列表。
然后让作业执行第一步为Get row from results
的转换,以获取字段中的文件名列表,并将流提供给Get data from XML
。在该步骤中,指定您希望从上一步获取文件名。
然后返回工作并放置Delete file name from result
。确保箭头为绿色,因此只有在成功读取后才会删除提取的XML。
就像那样,你的tmp目录将包含那里没有读取的文件。从长远来看很容易维护。特别是如果在Unzip file
上,则选中自动将日期附加到提取的xml上的选项。