BizTalk平面文件,多行记录清除
我试图在其他问题中找到答案,但没有一个“标准”答案有效,所以我希望有人能告诉我答案在哪里,或者告诉我怎么做 我有一个包含多个文档的大文件。对于示例,假设如下所示BizTalk平面文件,多行记录清除,biztalk,flat-file,biztalk2006r2,Biztalk,Flat File,Biztalk2006r2,我试图在其他问题中找到答案,但没有一个“标准”答案有效,所以我希望有人能告诉我答案在哪里,或者告诉我怎么做 我有一个包含多个文档的大文件。对于示例,假设如下所示 DOCUMENT_IDENTIFIER 123400000000000000000123457 OTHER STUFF HERE LINE WITH STUFF HERE LINE WITH STUFF HERE DOCUMENT_IDENTIFIER 123500000000000000000127456 OTHE
DOCUMENT_IDENTIFIER 123400000000000000000123457 OTHER STUFF HERE
LINE WITH STUFF HERE
LINE WITH STUFF HERE
DOCUMENT_IDENTIFIER 123500000000000000000127456 OTHER STUFF HERE
LINE WITH STUFF HERE
LINE WITH STUFF HERE
现在,我需要保留DOCUMENT\u IDENTIFIER
行中的所有内容,从第一个0开始到123
(或第二个文档中的127
)头行,再加上下面所有行中的内容应该组成一个文档,新文档应该从第二行文档标识符开始
当我尝试使用标准的去匹配技术时,管道失败:要么完全失败(例如,当我尝试为管道定义头和主体架构时),要么永远不会启动第二个文档(如果我只尝试主体架构)
我确信这是一件相当简单的事情,但我完全不知道如何完成它。欢迎提出任何建议/指导
如果有关系的话,我现在还在BT2006 R2上。你的身体模式是什么样子的?我将开始正确地理解这一点,并确保您能够创建xml,其中包含所有“DOCUMENT_IDENTIFIER 1234”记录的单独记录
我将使用“DOCUMENT_IDENTIFIER”1234位作为标记标识符,然后将标记偏移量设置为4,以避免前4个字符
你应该有一个
RecordForDocumentIdentifiers(架构的根)组Maxoccurs=*
RecordForDocumentIdentifier(在此处设置标记标识符)
要分析的列的字段
RecordForOtherLines Group Maxoccurs=*
RecordForOtherLine Maxoccurs=* or whatever your rules are.
Fields for the columns of other lines
当这似乎可以解析您的示例并生成所需的XML时,我将开始从中创建头和体模式。我知道这是两个步骤,但这需要一些猜测
我猜标题模式将从RecordDocumentIdentifier中选取,主体将是RecordForOtherLines(该行的外部记录)
我希望这有帮助。如果没有,请发布您的实际文件和模式,让我们看看