BizTalk FlatFile架构多个重复记录 [英] BizTalk FlatFile Schema multiple repeating records

查看:85
本文介绍了BizTalk FlatFile架构多个重复记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个平面文件,我需要创建一个架构,以便可以将该平面文件转换为XML并将其带到BizTalk中.

I have a flat file and I need to create a schema so I can convert that flat file into XML and bring it to BizTalk.

我已经使用平面文件架构向导创建了一个架构,但是它不起作用.我已经手动对其进行了修改,但仍无法正常工作.我将解释什么不起作用.

I have used flat file schema wizard to create a schema but it is not working. I've modified it manually still not working. I will explain what is not working.

Flat File structure:
File header
Batch header
Detail (repeating records)
Address (repeating records)
Trailer
END

创建架构后,我试图对其进行验证,这时我遇到了错误. 细节和地址是正文,它们是可重复的. 我的问题是,在读取"DET"行之后,应该读取"ADD".但是,它再次在寻找"DET".

After creating the schema I'm trying to validate it and I'm getting error at this point. Detail and Address are the body and they are repeatable. My issue is that after it reads the line "DET" it is suppose to read the "ADD". However it is looking for "DET" again.

错误说明: 错误BEC2004:寻找以下内容时发现意外数据: 'DET' 当前正在解析的定义是RefundsRoot.发生错误的流偏移量是799.发生错误的行号是4.发生错误的列是0.

Error description: error BEC2004: Unexpected data found while looking for: 'DET' The current definition being parsed is RefundsRoot. The stream offset where the error occured is 799. The line number where the error occured is 4. The column where the error occured is 0.

这里是样品

FDR06281339CREDIT REFUND CHECKS                                AC
HDR9008100000000000100006428
DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5                01TEST 5 STMT                                         6902 PINE ST                                        OMAHA             NE68106-2855                  0000000000+0000000000500000                 00FINUT A    +00000000000004900                         FHSC999999          +0000000000500     EN          0099000000000                            +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900
ADDF                                                                                                                                                      6902 PINE ST                                                                                                                                                                                                      OMAHA                    NE                         68106-2855USA
TRL90081000000000001000000020000000000000642800000000000004900000000000000000000
END000000100000000200000000000000000000004900000000000000000000

这里是架构(由于字符限制,我只在相关章节中进行了介绍)

Here is the schema (due to character limits I've only included related section)

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://Fingerhut.BizTalk.Schemas.FSIn_Refunds" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://Fingerhut.BizTalk.Schemas.FSIn_Refunds" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:annotation>
    <xs:appinfo>
      <schemaEditorExtension:schemaInfo namespaceAlias="b" extensionClass="Microsoft.BizTalk.FlatFileExtension.FlatFileExtension" standardName="Flat File" xmlns:schemaEditorExtension="http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions" />
      <b:schemaInfo standard="Flat File" codepage="65001" default_pad_char="0x0A 0x0D" pad_char_type="hex" count_positions_by_byte="false" parser_optimization="speed" lookahead_depth="3" suppress_empty_nodes="false" generate_empty_nodes="true" allow_early_termination="true" early_terminate_optional_fields="false" allow_message_breakup_of_infix_root="true" compile_parse_tables="false" root_reference="RefundsRoot" />
    </xs:appinfo>
  </xs:annotation>
  <xs:element name="RefundsRoot">
    <xs:annotation>
      <xs:appinfo>
        <b:recordInfo structure="delimited" sequence_number="1" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" child_delimiter_type="hex" child_delimiter="0x0D 0x0A" />
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:annotation>
          <xs:appinfo>
            <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
          </xs:appinfo>
        </xs:annotation>
              <xs:complexType name="Detail">
    <xs:sequence>
      <xs:annotation>
        <xs:appinfo>
          <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
        </xs:appinfo>
      </xs:annotation>
      <xs:element name="DETL-HDR" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="3" sequence_number="1" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-SYSTEM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="4" sequence_number="2" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PRIN-BANK" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="4" sequence_number="3" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-AGENT-BANK" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="4" sequence_number="4" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-ACCOUNT-NUMBER" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="16" sequence_number="5" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PRMR-PI-ID" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="16" sequence_number="6" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-ENTR-ID" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="16" sequence_number="7" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PI-NM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="8" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-FILLER" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="9" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PI-ROLE-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="10" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PRIMARY-NAME" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="11" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-SECONDARY-NAME" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="12" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-ADDRESS-LINE-1" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="13" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-ADDRESS-LINE-2" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="14" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-CITY" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="18" sequence_number="15" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-STATE" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="16" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-POST-CODE" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="10" sequence_number="17" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-REF-NUM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="18" sequence_number="18" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-CHK-STARTING-NUM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="5" sequence_number="19" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-NUMBER-OF-CKS" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="4" sequence_number="20" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-DUALITY-FLAG" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="1" sequence_number="21" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-CREDIT-LIMIT" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="14" sequence_number="22" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-NUMBER-OF-PLASTICS" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="3" sequence_number="23" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-CHECKING-ACCOUNT-NUM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="17" sequence_number="24" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:annotation>
        <xs:appinfo>
          <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
        </xs:appinfo>
      </xs:annotation>
      <xs:element name="ADDR-EXPN-ADDR-RCRD-HEDR-ID" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="3" sequence_number="1" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-PRMR-CUST-ADDR-FRMT-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="1" sequence_number="2" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-ATTN-LINE-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="3" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CMPN-NM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="4" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-HOUS-NR" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="10" sequence_number="5" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-STRT-NM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="40" sequence_number="6" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CNTN-ADDR-LINE-1-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="7" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CNTN-ADDR-LINE-2-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="8" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CNTN-ADDR-LINE-3-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="9" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CNTN-ADDR-LINE-4-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="10" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-PO-BOX-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="10" sequence_number="11" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CITY-NM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="25" sequence_number="12" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-ST-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="13" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-SBDV-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="25" sequence_number="14" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-PSTL-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="10" sequence_number="15" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CTRY-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="3" sequence_number="16" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-FILLER" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo sequence_number="17" justification="left" pos_length="271" pos_offset="0" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

推荐答案

以下模式有效(您需要将我的字符串元素更改为正确的位置记录).

The following schema works (you of cause need to change my string elements to the correct positional record).

您需要做的是:

  1. 在平面文件向导之后添加一条记录.
  2. 将记录放在FDR元素之后.
  3. 将重复记录DEC ADD添加到此新记录中作为子元素.
  4. 将记录设置为未绑定
  5. 设置子订单中缀
  6. 子定界符类型为十六进制
  7. 子定界符为0x0D 0x0A

这将为您提供以下架构:

This gives you the following schema:

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://FlatFileSchema4" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://FlatFileSchema4" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:annotation>
        <xs:appinfo>
            <schemaEditorExtension:schemaInfo namespaceAlias="b" extensionClass="Microsoft.BizTalk.FlatFileExtension.FlatFileExtension" standardName="Flat File" xmlns:schemaEditorExtension="http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions" />
            <b:schemaInfo standard="Flat File" codepage="65001" default_pad_char=" " pad_char_type="char" count_positions_by_byte="false" parser_optimization="speed" lookahead_depth="3" suppress_empty_nodes="false" generate_empty_nodes="true" allow_early_termination="false" early_terminate_optional_fields="false" allow_message_breakup_of_infix_root="false" compile_parse_tables="false" root_reference="Root" />
        </xs:appinfo>
    </xs:annotation>
    <xs:element name="Root">
        <xs:annotation>
            <xs:appinfo>
                <b:recordInfo structure="delimited" child_delimiter_type="hex" child_delimiter="0xD 0xA" child_order="postfix" sequence_number="1" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
            </xs:appinfo>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:annotation>
                    <xs:appinfo>
                        <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                    </xs:appinfo>
                </xs:annotation>
                <xs:element name="FDR">
                    <xs:annotation>
                        <xs:appinfo>
                            <b:recordInfo structure="positional" tag_name="FDR" tag_offset="0" sequence_number="1" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="FDR" type="xs:string">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:fieldInfo justification="left" pos_offset="0" pos_length="35" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="HDR">
                    <xs:annotation>
                        <xs:appinfo>
                            <b:recordInfo structure="positional" tag_name="HDR" tag_offset="0" sequence_number="2" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="HDR" type="xs:string">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:fieldInfo justification="left" pos_offset="0" pos_length="29" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element maxOccurs="unbounded" name="RR">
                    <xs:annotation>
                        <xs:appinfo>
                            <recordInfo structure="delimited" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" sequence_number="3" child_delimiter_type="hex" child_delimiter="0x0D 0x0A" child_order="infix" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="DET">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:recordInfo structure="positional" tag_name="DET" tag_offset="0" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:annotation>
                                            <xs:appinfo>
                                                <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                            </xs:appinfo>
                                        </xs:annotation>
                                        <xs:element name="DET" type="xs:string">
                                            <xs:annotation>
                                                <xs:appinfo>
                                                    <b:fieldInfo justification="left" pos_offset="0" pos_length="482" sequence_number="1" />
                                                </xs:appinfo>
                                            </xs:annotation>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="ADD">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:recordInfo structure="positional" tag_name="ADD" tag_offset="0" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" sequence_number="2" />
                                    </xs:appinfo>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:annotation>
                                            <xs:appinfo>
                                                <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                            </xs:appinfo>
                                        </xs:annotation>
                                        <xs:element name="ADD" type="xs:string">
                                            <xs:annotation>
                                                <xs:appinfo>
                                                    <b:fieldInfo justification="left" pos_offset="0" pos_length="41" sequence_number="1" />
                                                </xs:appinfo>
                                            </xs:annotation>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="TRL">
                    <xs:annotation>
                        <xs:appinfo>
                            <b:recordInfo structure="positional" tag_name="TRL" tag_offset="0" sequence_number="4" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="TRL" type="xs:string">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:fieldInfo justification="left" pos_offset="0" pos_length="81" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="END">
                    <xs:annotation>
                        <xs:appinfo>
                            <b:recordInfo structure="positional" tag_name="END" tag_offset="0" sequence_number="5" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="END" type="xs:string">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:fieldInfo justification="left" pos_offset="0" pos_length="63" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

带有测试文件:

FDR06281339CREDIT REFUND CHECKS AC 
HDR9008100000000000100006428 
DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5 01TEST 5 STMT 6902 PINE ST OMAHA NE68106-2855 0000000000+0000000000500000 00FINUT A +00000000000004900 FHSC999999 +0000000000500 EN 0099000000000 +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900 
ADDF 6902 PINE ST OMAHA NE 68106-2855USA 
DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5 01TEST 5 STMT 6902 PINE ST OMAHA NE68106-2855 0000000000+0000000000500000 00FINUT A +00000000000004900 FHSC999999 +0000000000500 EN 0099000000000 +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900 
ADDF 6902 PINE ST OMAHA NE 68106-2855USA 
TRL90081000000000001000000020000000000000642800000000000004900000000000000000000 
END000000100000000200000000000000000000004900000000000000000000

并输出:

  <Root xmlns="http://FlatFileSchema4">
        <FDR xmlns="">
            <FDR>FDR06281339CREDIT REFUND CHECKS AC</FDR>
        </FDR>
        <HDR xmlns="">
            <HDR>HDR9008100000000000100006428</HDR>
        </HDR>
        <RR xmlns="">
            <DET>
                <DET>DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5 01TEST 5 STMT 6902 PINE ST OMAHA NE68106-2855 0000000000+0000000000500000 00FINUT A +00000000000004900 FHSC999999 +0000000000500 EN 0099000000000 +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900</DET>
            </DET>
            <ADD>
                <ADD>ADDF 6902 PINE ST OMAHA NE 68106-2855USA</ADD>
            </ADD>
        </RR>
        <RR xmlns="">
            <DET>
                <DET>DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5 01TEST 5 STMT 6902 PINE ST OMAHA NE68106-2855 0000000000+0000000000500000 00FINUT A +00000000000004900 FHSC999999 +0000000000500 EN 0099000000000 +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900</DET>
            </DET>
            <ADD>
                <ADD>ADDF 6902 PINE ST OMAHA NE 68106-2855USA</ADD>
            </ADD>
        </RR>
        <TRL xmlns="">
            <TRL>TRL90081000000000001000000020000000000000642800000000000004900000000000000000000</TRL>
        </TRL>
        <END xmlns="">
            <END>END000000100000000200000000000000000000004900000000000000000000</END>
        </END>
    </Root>

我已经更新了架构,使其还包含您的测试文件现在具有的额外记录.它对我有用.

I have updated the schema to also include the extra records that your testfile now have. And it works for me.

这篇关于BizTalk FlatFile架构多个重复记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆