---
title: "包含混合内容的 XML 数据映射文件"
date: "2015-09-08"
categories: 
  - "data-integration"
  - "tools"
tags: 
  - "data-integration"
  - "data-mapping"
  - "mapforce"
description: 了解如何使用 Altova MapForce 软件高效地处理包含混合内容的 XML 数据，从而解决复杂文档结构带来的数据集成难题。
---
Status: #blog

Tags:  #data-integration #data-mapping #mapforce

Categories: [data-integration](/blog/zh/category/data-integration.md) | [xml](/blog/zh/category/xml.md)
# 包含混合内容的 XML 数据映射文件

随着更多专业数据被适配到移动设备上，尤其是在小屏幕设备上，结构复杂的文档可能会带来挑战。 幸运的是，Altova的图形化数据映射、转换和集成工具MapForce，具有特殊功能，可以加速各种规模的数据集成项目。

例如，格式丰富的文档可能包含[混合内容 XML](https://www.altova.com/zh/mapforce/xml-mapping.html)，这是一种复杂的数据类型，允许 XML 元素同时包含文本、属性以及其他子元素。混合内容 XML 的常见例子包括带有加粗或斜体格式的文本块，或者用于选择用于索引或其他特殊处理的术语的标签。包含混合内容 XML 的文档可能难以整合到数据集成项目中，因为它们看起来是自由格式且难以预测的，其子元素可能以任意顺序出现，甚至在父元素中重复出现。

![混合内容映射](/blog/images/Mapping_mixed_content.jpg)

<!--more-->

与 MapForce 一起安装的示例文件以及 MapForce 在线帮助系统，都是您在遇到不熟悉的的数据映射需求时，可以查找技巧的良好资源。

以下图片展示了“MapForce 示例”文件夹中两个文件的部分内容，这些内容展示了 XML 混合内容，即包含文本以及其他子元素的元素。

![捕获文本 1](/blog/images/Capture-text-1.png)

![捕获文本2](/blog/images/Capture-text-2.png)

第一张图片中的文件使用了常见的XML标签来标记段落和字体。`<para>`元素是混合内容XML元素，因为它既包含文本，也包含子元素，用于标记需要加粗和斜体的术语。第二个例子使用了更专业的元素集合，其中`<SubSection>`元素内部标记的“商标”和“关键词”的显示方式并不明确。

**数据映射 XML 混合内容**

您可以使用 MapForce 通过在输入和输出之间绘制连接线，在两个包含混合内容的 XML 模式之间进行映射。如图所示，当我们将包含 XML 混合内容的源元素“SubSection”连接时，MapForce 会显示一个有用的提示，以帮助您进行准确的映射设计：

![地图与对话](/blog/images/Mapping-plus-dialog.png)

点击对话框中的“是”按钮，会指示 MapForce 自动连接源数据和目标数据之间的文本部分

![对话结束后进行地图捕捉](/blog/images/Capture-mapping-after-dialog.png)

虚线连接表示 XML 混合内容映射，构成混合内容的所有文本和子元素都会被单独映射。完成映射的最后一步，只需将源数据中的“商标”（Trademark）和“关键词”（Keyword）映射到输出组件中所需的元素即可。

![地图捕捉，简要应用信息示例](/blog/images/Capture-mapping-ShortApplicationInfoSample.png)

“商标”和“关键词”这两个标签在输出文件中以粗体和斜体字体显示。

![捕获混合内容映射的输出结果](/blog/images/Capture-mixed-content-mapping-output.png)

这里展示的数据映射示例，以 "ShortApplicationInfo.mfd" 文件形式包含在 MapForce 示例文件夹中。

**将包含混合内容的 XML 地图转换为仅包含简单内容的 XML**

如果您需要创建一个更简化的文档版本，该文档包含混合内容的 XML，您也可以将混合内容映射到一个简单的元素。下图显示的是同一个输入文件，其中包含 XML 混合内容，但输出组件中的 "Description" 元素是一个简单的字符串数据类型。在这个映射中，"SubSection" 元素直接映射到输出组件中的 "Description" 元素。

![捕获混合到简单映射](/blog/images/Capture-mixed-to-simple-mapping.png)

当执行映射操作时，源子部分（SubSection）元素中的所有文本，包括子元素中的文本，都会被映射到目标位置，并且不会保留任何子元素标签。

![简要信息地图的输出结果](/blog/images/output-of-shortinfo-simple-map.png)

在设计并测试好 MapForce 数据映射方案后，它可以立即执行以转换数据，或者可以将其保存，由 MapForce Server 在后续执行，从而自动化需要重复数据转换的业务流程。

Altova MapForce 是一款屡获殊荣的图形化数据映射、转换和集成工具，它能够将各种数据格式（包括 XML、数据库、EDI、XBRL、文本文件、Excel、JSON 以及 Web 服务）进行互联互通。本文仅介绍了 MapForce 众多专业数据映射功能中的一个例子。与传统的、价格高昂的大型数据集成产品相比，MapForce 提供了卓越的功能，并且价格远低于传统产品，使其成为当今快速发展的团队和企业进行数据映射、集成和转换的理想工具。

[下载](https://www.altova.com/zh/download-trial.html) **完全可操作的** [免费试用](https://www.altova.com/zh/download-trial.html) **亲自去看看吧！**
