2012-01-11 34 views
0

我试图找到其他问题的答案,并没有在工作,所以我希望有人可以点我到这已被回答,或者可以告诉我如何做到这一点。的BizTalk平面文件,多行记录debatching

我有一个包含多个文档的大文件。对于一个样本,假设这样的事情

DOCUMENT_IDENTIFIER 12340000000000000000OTHER STUFF HERE 
LINE WITH STUFF HERE 
LINE WITH STUFF HERE 
DOCUMENT_IDENTIFIER 123500000000000000000127456 OTHER STUFF HERE 
LINE WITH STUFF HERE 
LINE WITH STUFF HERE 

现在,我需要通过123(或127在第二个文件)保存在DOCUMENT_IDENTIFIER样样在行开始与第一0即标题行,再加上它下面的所有LINE WITH STUFF HERE行应该构成一个文档,并且新文档应该从第二行DOCUMENT_IDENTIFIER行开始。

当我尝试使用标准的Debatching技术时,管道失败:或者它只是完全失败(例如,当我尝试为管道定义头和主体架构)或者它从不启动第二个文档如果我只尝试一个body架构)。

我敢肯定这是一件相当简单的,但我完全缺失如何完成它。任何建议/方向将受到欢迎。

如果有问题,我现在被困在BT2006 R2上。

回答

0

您的身体架构是什么样的?我会开始做对,并确保你有一些将创建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(对于外记录)。

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

相关问题