我收到的文件有问题,该文件有多个header =>
[XML Pic] [1]
我想用talend创建一个作业,将它拆分成许多文件或创建一个文件可读。
我尝试了很多方法但没有成功。
我收到的文件是输出文件(* .out),而不是开头的XML。
Thx的帮助! :)
编辑:
响应的答案:
例如:初始文件(* .out文件)=>
<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"><BkToCstmrDbtCdtNtfctn><GrpHdr><MsgId>AI3069868076</MsgId><CreDtTm>2017-04-03T23:51:23.586</CreDtTm><MsgPgntn><PgNb>1</PgNb><LastPgInd>true</LastPgInd></MsgPgntn></GrpHdr></BkToCstmrDbtCdtNtfctn></Document>
<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"><BkToCstmrDbtCdtNtfctn><GrpHdr><MsgId>AI4069973130</MsgId><CreDtTm>2017-04-04T21:09:41.090</CreDtTm><MsgPgntn><PgNb>1</PgNb><LastPgInd>true</LastPgInd></MsgPgntn></GrpHdr></BkToCstmrDbtCdtNtfctn></Document>
<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"><BkToCstmrDbtCdtNtfctn><GrpHdr><MsgId>AI4069973134</MsgId><CreDtTm>2017-04-04T21:09:41.090</CreDtTm><MsgPgntn><PgNb>1</PgNb><LastPgInd>true</LastPgInd></MsgPgntn></GrpHdr></BkToCstmrDbtCdtNtfctn></Document>
我愿意
文件1:
<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"><BkToCstmrDbtCdtNtfctn><GrpHdr><MsgId>AI3069868076</MsgId><CreDtTm>2017-04-03T23:51:23.586</CreDtTm><MsgPgntn><PgNb>1</PgNb><LastPgInd>true</LastPgInd></MsgPgntn></GrpHdr></BkToCstmrDbtCdtNtfctn></Document>
文件2:
<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"><BkToCstmrDbtCdtNtfctn><GrpHdr><MsgId>AI4069973130</MsgId><CreDtTm>2017-04-04T21:09:41.090</CreDtTm><MsgPgntn><PgNb>1</PgNb><LastPgInd>true</LastPgInd></MsgPgntn></GrpHdr></BkToCstmrDbtCdtNtfctn></Document>
文件3:
<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"><BkToCstmrDbtCdtNtfctn><GrpHdr><MsgId>AI4069973134</MsgId><CreDtTm>2017-04-04T21:09:41.090</CreDtTm><MsgPgntn><PgNb>1</PgNb><LastPgInd>true</LastPgInd></MsgPgntn></GrpHdr></BkToCstmrDbtCdtNtfctn></Document>
&#39;因为初始文件不可读! :&#39;(
答案 0 :(得分:0)
如果主题只是为输入文件的每条记录生成一个单独的文件,您可以这样继续:
tJavaRow递增“fileCounter”值并将当前行传输到输出文件
output_row.line = input_row.content;
globalMap.put("fileCounter", ((Integer)globalMap.get("fileCounter"))+1);
tFileOutputRaw为当前行生成输出文件 - 只需根据当前行级别设置文件名:
((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")).replace(".xml", "") + (Integer)globalMap.get("fileCounter") + ".xml"
在此示例中,源文件名应以“.xml”结尾,但您可以轻松地自行安排。
这是结果(1个输入文件,3个记录= 3个输出文件):
答案 1 :(得分:0)