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(该行的外部记录)

我希望这有帮助。如果没有,请发布您的实际文件和模式,让我们看看