将 XML 元素映射到 XML 映射中的单元格

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

导入和在 Excel 中的导出 XML 数据,将 XML 元素以获取所需的结果的单元格中的数据与相关联的 XML 映射都将非常有用。 若要创建一个,您需要具有 XML 架构文件 (.xsd) 和 XML 数据文件 (.xml)。创建 XML 映射后, 可以映射 XML 元素所需的方式。

提示: 您将找到有关在Excel 中的 XML 概述此对 Excel 中使用 XML 的详细信息。

查找或创建 XML 架构和 XML 数据文件

使用示例 XML 架构和 XML 数据文件

创建 XML 映射

映射 XML 元素

查找或创建 XML 架构和 XML 数据文件

如果 XML 架构或 XML 数据文件,创建另一个数据库或应用程序,您可能已经可用它们。例如,您可能有一个业务线应用程序,将数据导出到这些 XML 文件格式、 商业网站或 web 服务,提供以下 XML 文件或由您会自动创建这些 XML 文件的 IT 部门开发自定义应用程序。

如果您没有所需的 XML 文件,您可以通过保存您想要用作文本文件的数据创建它们。然后可以使用 Access 和 Excel 将该文本文件转换为所需的 XML 文件。下面介绍了如何︰

Access

  1. 导入的文本文件您想要将转换并将其链接到的新表。

    1. 单击“文件”>“打开”。

    2. 打开对话框中,选择,然后打开要在其中创建新表的数据库。

    3. 单击外部数据>文本文件,然后按照说明为每个步骤,并确保到文本文件链接表。

      Access 将创建新表,并将其显示在导航窗格中。

  2. 将链接表中的数据导出到 XML 数据文件和 XML 架构文件中。

    1. 单击外部数据> XML 文件(在导出组中)。

    2. 导出的 XML 文件对话框中,指定文件的名称和格式,然后单击确定

  3. 退出 Access。

Excel

  1. 基于从 Access 中导出 XML 架构文件创建 XML 映射

    如果出现多个根目录对话框,请确保您选择dataroot ,以便您可以创建 XML 表。

  2. 通过将dataroot元素的映射创建 XML 表。有关详细信息,请参阅映射 XML 元素

  3. 从 Access 导出导入的 XML 文件

注释: 

  • 有几种类型的 Excel 不支持的 XML 架构元素结构。包含以下 XML 架构元素构造无法导入到 Excel 中︰

  • <any>    此元素允许包括架构未声明的元素。

  • <anyAttribute>    此元素允许包括架构未声明的属性。

  • 递归结构   递归结构的常见示例是员工的层次结构和管理器中的同一个 XML 元素都嵌套若干级别。Excel 不支持多个级别递归结构。

  • 抽象元素    这些元素应在架构中声明,但从不用作元素。抽象元素依赖于要替代抽象元素的其他元素。

  • 置换组    这些组允许在引用了其他元素的任何情况下交换元素。元素通过 <substitutionGroup> 属性指示它是另一个元素的替换组的成员。

  • 混合内容    此内容通过在复杂类型定义中使用 mixed="true" 进行声明。Excel 不支持复杂类型的简单内容,但支持该复杂类型中定义的子标记和属性。

使用示例 XML 架构和 XML 数据文件

具有下面的示例数据的基本 XML 元素和结构可用于测试 XML 映射,如果您没有 XML 文件或文本文件创建 XML 文件。下面介绍了如何将此示例数据保存到您的计算机上的文件︰

  1. 选择要复制,该文件的示例文本,然后按 Ctrl + C。

  2. 启动记事本,然后按 Ctrl + V 粘贴示例文本。

  3. 按 Ctrl + S 保存该文件包含的文件名和扩展名您复制的示例数据。

  4. 在记事本中按 Ctrl + N,然后重复步骤 1-3 创建第二个示例文本的文件。

  5. 退出记事本。

示例 XML 数据 (Expenses.xml)

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>

示例 XML 架构 (Expenses.xsd)

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

创建 XML 映射

您可以通过向工作簿添加 XML 架构创建 XML 映射。可以从 XML 架构文件 (.xsd) 中,复制架构或 Excel 可以尝试推断 XML 数据文件 (.xml) 中的一个。

  1. 单击开发人员>

    “开发工具”选项卡上的“XML”命令

    如果看不到开发工具选项卡,请参阅显示开发工具选项卡

  2. XML 源任务窗格中,单击XML 映射,,然后单击添加

  3. 在“查找范围”列表中,单击要打开的文件所在的驱动器、文件夹或 Internet 位置。

  4. 单击该文件,然后单击“打开”。

    • XML 架构文件,为 XML 将创建 XML 映射基于 XML 架构。如果出现多个根目录对话框中,选择一个 XML 架构文件中定义的根节点。

    • XML 数据文件,Excel 将尝试推断 XML 架构的 XML 数据,然后创建 XML 映射。

  5. 单击“确定”。

    XML 源任务窗格中显示的 XML 映射。

映射 XML 元素

应将 XML 元素映射到 XML 表中单一映射的单元格和重复单元格,以便可以在单元格和 XML 架构中的 XML 数据元素之间创建关系。

  1. 单击开发人员>

    “开发工具”选项卡上的“XML”命令

    如果看不到开发工具选项卡,请参阅显示开发工具选项卡

  2. XML 源任务窗格中,选择您想要映射的元素。

    若要选择不相邻的元素,请单击一个元素,然后按住 Ctrl 并单击每个要映射的元素。

  3. 要映射元素,请执行下列操作:

    1. 右键单击选定的元素,然后单击映射元素

    2. 映射 XML 元素对话框中,选择一个单元格,然后单击确定

      提示: 您也可以将选定的元素拖动到您希望显示它们的工作表位置。

      在“XML 源”任务窗格中,每个元素都以粗体显示,用于指示该元素已被映射。

  4. 决定如何处理标签和列标题:

    • 在将非重复 XML 元素拖动到工作表上以创建单一映射的单元格时,将显示一个带有三个命令的智能标记,您可以使用它来控制标题或标签的位置:

      我的数据已经有标题    单击此选项会忽略 XML 元素标题,原因是单元格已有标题(位于数据左侧或数据上方)。

      将 XML 标题放在左边    单击此选项可将 XML 元素标题用作单元格标签(位于数据左侧)。

      将 XML 标题放在上边    单击此选项可将 XML 元素标题用作单元格标题(位于数据上方)。

    • 在将重复 XML 元素拖动到工作表上以创建 XML 表中的重复单元格时,XML 元素名称将被自动用作该表的列标题。但是,您可以编辑列标题单元格,以便将列标题更改为所需的任何标题。

      在“XML 源”任务窗格中,可以单击“选项”进一步控制 XML 表的行为:

      映射时自动合并元素    如果选中此复选框,则当您将元素拖动到与 XML 表相邻的单元格中时,XML 表将自动扩展。

      我的数据带有标题    如果选中此复选框,则当您向工作表映射重复元素时,可以使用现有数据作为列标题。

      注释: 

      • 如果所有 XML 命令都变都暗,并且不能向任何单元格映射 XML 元素,可能会共享工作簿。单击审阅>共享工作簿验证,并将其从删除共享使用,根据需要。

        如果您想要将您想要共享工作簿中的 XML 元素映射,请将 XML 元素映射到希望、 导入 XML 数据、 删除所有的 XML 映射,以及然后共享工作簿的单元格。

      • 如果您无法将复制 XML 表包含到另一个工作簿的数据,XML 表可能已定义的数据结构关联的 XML 映射。此 XML 映射存储在工作簿,但 XML 映射到新工作簿复制 XML 表时,不自动包括。而不是复制 XML 表,Excel 会创建一个 Excel 表包含相同的数据。如果您想要将 XML 表的新表,请执行下列操作︰

        1. 使用您用于创建原始 XML 映射的.xml 或.xsd 文件向新工作簿添加 XML 映射。如果您想要向其他工作簿添加 XML 映射,应保存这些文件。

        2. 将 XML 元素映射到该表以使其成为 XML 表。

      • 当重复 XML 元素映射到合并的单元格时,Excel 对取消合并单元格。这是预期的行为,因为重复元素旨在处理合并单元格。

        您可以将单个、 非重复 XML 元素映射到合并的单元格,但不允许到合并的单元格映射重复元素 (或包含重复的元素的元素)。单元格将会分离,并且将被元素映射到指针所在的单元格。

提示: 

  • 您可以取消映射 XML 元素,您不希望使用,或防止导入 XML 数据时覆盖单元格的内容。例如,可以暂时取消映射 XML 元素从单个单元格或重复包含您不想覆盖导入的 XML 文件时的公式的单元格。导入完成后,您可以 XML 元素映射到公式的单元格,以便您可以将公式结果的导出到 XML 数据文件。

  • 要取消对 XML 元素的映射,右键单击XML 源任务窗格中,在其姓名,然后单击删除元素

显示“开发工具”选项卡

如果看不到“开发工具”选项卡,请通过执行下列操作来显示该选项卡:

  • 在 Excel 2010 中,2013年和 2016年:

    1. 单击“文件”>“选项”。

    2. 单击“自定义功能区”类别。

    3. 主选项卡,下选中开发工具框,然后单击确定

  • 在 Excel 2007 中:

    1. 单击Microsoft Office 按钮 Office 按钮图像 > Excel 选项

    2. 单击常用类别。

    3. 使用 Excel 时采用的首选项中,选中在功能区中的显示开发工具选项卡框中,并单击确定

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

另请参阅

在 Excel 中的 XML 概述

导入 XML 数据

导出 XML 数据

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×