演练:从文档实例创建平面文件架构

此演练演示如何根据以下示例采购订单,使用“BizTalk 平面文件架构向导”从文档实例创建平面文件架构。 有关 BizTalk 平面文件架构向导的简介,请参阅 如何使用 BizTalk 平面文件架构向导

示例采购订单

该采购订单的每行末尾是以绿色标记的回车换行符 (CRLF)。 采购订单的开头为以红色显示的 PO 标记,后接日期。 两个重复的固定位置字段包含客户信息,以紫色显示。 在注释字段的后面,有一个以 ITEMS 标记开头的重复字段,该字段包含多个以逗号 (,) 分隔的记录和以竖线 (|) 分隔的数据值,这些信息以蓝色显示。

必备条件

在进行此演练之前,请确保您的服务器上安装并配置了以下软件:

  • Microsoft Visual Studio

  • 安装了 开发人员工具 的 Microsoft BizTalk Server

    若要为演练准备文档实例,请将以下内容复制到文本编辑器中,并将其另存为文本文件。 请务必复制所有换行符和回车符。

PO1999-10-20
US        Alice Smith         123 Maple Street    Mill Valley    CA 90952
US        Robert Smith        8 Oak Avenue        Old Town       PA 95819
ITEMS,ITEM872-AA|Lawnmower|1|148.95|Confirm this is electric,ITEM926-AA|Baby Monitor|1|39.98|Confirm this is electric

启动向导

  1. 在 Visual Studio 中,打开解决方案资源管理器

  2. 若要添加新的平面文件架构,请右键单击该项目,然后选择“ 添加”。 单击“新建项”。

  3. “添加新项” 窗口中,执行以下操作:

    1. “类别” 部分中,选择“ 架构文件”。

    2. “模板” 部分中,选择“ 平面文件架构向导”。

    3. “名称” 字段中,为新架构输入 PurchaseOrder.xsd

    4. 单击“添加”。

  4. “BizTalk 平面文件架构向导”打开后,将显示“欢迎”页。
    若要在将来运行向导时跳过此屏幕,请选中“ 不再显示此简介页 ”框。 单击“下一步”以继续。

选择采购订单实例

  • “平面文件架构信息”屏幕上,选择你的实例并输入以下信息。 完成后,单击“下一步”以继续。

    • 实例文件:单击“浏览”按钮以查找要从中生成架构的平面文件。 浏览到包含你在演练:从文档实例创建平面文件架构的先决条件部分中创建的文本文件的文件夹。

    • 记录名称: 键入 PO ,因为它是架构根名称。

    • 目标命名空间: 架构目标命名空间的类型 http://Flat_File_Project.PurchaseOrder

    • 代码页: 从下拉列表中选择 UTF-8 (65001)

    • 以字节为单位对位置进行计数: 如果要按字节对位置数据字段进行计数,请选中此框。 默认情况下,位置数据字段以字符为单位计算。 在本演练中,将“以字节检查计数位置”框保持未选中状态。

选择采购订单数据

  • “选择文档数据”屏幕上,将显示平面文件的内容。 选择创建架构所需的数据,然后单击“下一步”

    注意

    如果要使用整个文档实例,可以按 Ctrl-A 全选。

    注意

    如果要在整个向导中查看包装到编辑框中的整个文档实例内容,请选中“ 换行 ”框。

    注意

    如果从交换实例创建架构,请只选择表示单个文档结构的部分。

分隔采购订单记录

  • 当采购订单的每一行都以回车换行 (CRLF) 结尾时,请选择“按分隔符符号”,然后在“选择记录格式”屏幕上单击“下一步”。

指定采购订单记录属性

  • “分隔记录”屏幕上,输入以下信息来定义架构的第一级,完成后单击“下一步”

    • 子分隔符: 选择 {CR}{LF}

      注意

      “子分隔符”属性是一个带有下拉选择列表的可编辑框,该列表包含一组默认值。 可将“子分隔符”指定为字符或十六进制值。 例如 \{{0x0D0A}

    • 转义符:转义符是一个字符,用于屏蔽它后面所跟的字符的所有特殊含义。 有关详细信息 ,请参阅转义字符 。 将它保留为空,以用于演练。

      注意

      子分隔符转义字符使用 \{}时,必须使用反斜杠。 例如,\\\{

    • 选中“记录有标记标识符”框,并在“标记”中键入“PO”。 在多记录文件中, PO 将用于标识每条记录。 单击“下一步”以继续。

      带分隔符的“记录”屏幕

定义采购订单记录中的 元素

  1. 向导已标识了采购订单记录中的四个元素;您现在必须定义元素属性。 在第一行中,执行以下操作:

    1. 键入“元素名称”的日期

    2. 为“元素类型”选择“ Field元素”。

    3. 从“数据类型”的下拉列表中选择“日期”。

  2. 对以下元素重复执行步骤 a 至 c。 完成后,单击“下一步”。

    元素名称 元素类型 数据类型
    客户 重复记录
    忽略
    items 记录

    子元素屏幕

    注意

    你可以用鼠标和 Shift 或 Ctrl 键选择多个行,然后将其“元素类型”更改为同一类型

    注意

    “子元素”屏幕上单击“下一步”后,将不能单击“返回”来重新定义子元素或修改它们。 可能需要关闭向导,然后再次将它启动才能定义平面文件架构。

  3. 完成此过程的各个步骤后,将生成该架构的第一级,如以下屏幕快照所示。 已定义了三个唯一元素,现在你还需要进一步定义采购订单记录中元素的子记录。 单击“下一步”。

    显示架构的第一级的图像。

定义客户记录

  1. 由于我们已将 customer 元素定义为 重复记录 类型,将 items 元素定义为 Record 类型,因此 BizTalk 平面文件架构向导现在继续进一步定义这两个元素。 在 “架构视图 ”屏幕上,选择“ 客户”,然后单击“ 下一步 ”继续。

  2. 若要处理 customer 记录,你需要选择表示该元素的数据。 由于该记录是重复记录,因此可以使用任何一行来定义该记录。 选择第一行 customer 数据,然后单击“下一步”继续

  3. 在“选择记录格式”页上,选择“按相对位置”,然后单击“下一步”

  4. 向导提供了一个用于显示和计算字段间距的可视工具。 在“ 位置记录 ”页上,使用鼠标左键单击位置标记 10 以表示名称字段的开始位置。 单击后面表示其余数据字段的位置标记:

    字段名称 位置标记
    street 30
    city 50
    state 65
    postalcode 68

    单击“下一步”以继续。

    位置记录屏幕

  5. 在“子元素”页上,指定子元素的属性。 选择第一行,然后键入 country 作为 元素名称。 在其他列中保留默认值。 为 元素名称的其他属性键入以下值:

    元素名称
    customer_Child2 fullName
    customer_Child3
    customer_Child4 城市
    customer_Child5 State
    customer_Child6 postalcode

    单击“下一步”以继续。

    显示“子元素”屏幕的图像。

  6. 客户记录的子元素随即创建,如以下屏幕快照所示。 单击“下一步”定义 items 记录的子元素

    显示客户记录的子元素的图像。

定义项记录

  1. 在“架构视图”页上选择“items”,然后单击“下一步”

  2. “选择文档数据 ”页上,选择以 ITEMS 开头的整行,然后单击“ 下一步 ”定义其子元素。

  3. “选择记录格式”页上,选择“按分隔符符号”,然后单击“下一步”

  4. 在 Items 记录中,逗号用于分隔各个商品 (items)。 因此,请在“分隔记录”页上输入以下内容来定义 items 记录。 完成后,单击“下一步”。

    • 从“子分隔符”下拉选择列表中选择“,”

    • “转义符”文本框留空。

    • 选择“记录具有标记标识符”,并在“标记”中键入 ITEMS

      在多项目记录中, ITEMS 用于标识每个单独的记录。

  5. 该向导使用“分隔记录”页中的值标识两个子元素。 由于其中的一个元素是重复记录,因此请选择第一个元素,在“元素名称”中输入 item,然后从“元素类型”下拉选择列表中选择“重复记录”。 在其他列中保留默认值。 选择第二行,然后从“元素类型”列表中选择“忽略”。 单击“下一步”后,将在架构中创建 items 记录的下一个级别。 你还需要定义采购订单架构的最后一个部分。

  6. 选择 ,然后单击“ 下一步 ”以在 “架构视图 ”页上继续。

  7. 在“选择文档数据”页上,选择“ITEM872-AA|Lawnmower|1|148.95|Confirm this is electric”。 单击“下一步”以继续。

  8. 在“选择记录格式”页上,选择“按分隔符符号”选项,因为各个项是以竖线 (|) 分隔的

  9. 在“分隔记录”页上,输入以下内容以定义 item 记录。 完成后,单击“下一步”。

    • 从“|子分隔符”下拉列表中选择。

    • “转义符”文本框留空。

  10. 在“子元素”页上,向导已标识了五个子元素。 选择第一行,并为“元素名称”输入 productCode。 在其他列中保留默认值。 对于“ 元素名称”属性的其余部分,请键入以下内容:

    元素名称
    item_Child2 description
    item_Child3 quantity
    item_Child4 unitPrice
    item_Child5 笔记

    单击“下一步”以继续。

  11. 现在,你已定义了采购订单架构的所有节点。 在“架构视图”页上,单击“完成”

  12. 您现在可以查看最终的采购订单架构了。 您还可以使用 BizTalk 架构编辑器优化该架构。 请参阅平面文件属性名称表和 架构节点属性中的属性表。 有关此属性的更多详细信息,请参阅 UI 指南和开发人员 API 命名空间参考

总结

在此演练中,您学习了如何使用“BizTalk 平面文件架构向导”从文档实例创建平面文件架构。

后续步骤

验证 PO 实例

为了确保 PurchaseOrder.xsd 架构能够正确解析 PO 实例,请执行以下操作:

  1. 在解决方案资源管理器中,右键单击 PurchaseOrder.xsd,然后选择“属性”。

  2. “属性页”中,确保 “输入实例文件名” 字段指向在演练:从文档实例创建平面文件架构的先决条件部分中创建的 PO 实例的位置。 单击“确定”,关闭对话框。

  3. 在“解决方案资源管理器”中,右键单击“PurchaseOrder.xsd”,然后选择“验证实例”。 验证组件随即打开。

  4. 验证完成后,将向您提供一个链接,使用该链接可以查看基于用 PurchaseOrder.xsd 架构解析 PO 实例所得结果的 XML 输出。 若要查看 XML 输出,请按住 Ctrl,然后单击该链接。

为架构创建管道

现在,您可以基于 PurchaseOrder.xsd 架构创建 BizTalk 应用程序使用的接收管道或发送管道。

若要创建新管道,请参阅 如何创建新管道。 若要配置平面文件管道组件,请参阅 如何配置平面文件汇编程序管道组件如何配置平面文件反汇编程序管道组件

另请参阅

如何使用 BizTalk 平面文件架构向导
使用“BizTalk 平面文件架构向导”创建架构