自定义 XML 部件概述

您可以为一些 Microsoft Office 应用程序将 XML 数据嵌入在文档中。将 XML 数据嵌入文档时,数据被称为“自定义 XML 部件”。

通过使用 Visual Studio 中的应用程序级或文档级解决方案,您可以在文档中创建和修改自定义 XML 部件。无需启动 Microsoft Office 应用程序即可创建和修改自定义 XML 部件。

本主题中的信息适用于文档级项目和应用程序级项目以下应用程序的适用于: :Excel 2010;PowerPoint 2010;Word 2010。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

说明说明

使用 Visual Studio,还可以将数据对象缓存在文档级自定义项中。尽管有一些类似之处,但此功能与自定义 XML 部件不同。有关更多信息,请参见文档级自定义项中的缓存数据

了解自定义 XML 部件

自定义 XML 部件随 Open XML 格式一起被引入到 2007 Microsoft Office system 中。这些格式包括 Excel、PowerPoint 和 Word 的基于 XML 的新格式(比如 .xlsx、.pptx 和 .docx)。采用这些格式的文档由 XML 文件(也称为“XML 部件”)组成,这些文件在 ZIP 存档中按文件夹进行组织。大多数 XML 部件都是内置部件,可帮助定义文档的结构和状态。但是,文档也可以包含自定义 XML 部件,您可以使用这些部件将任意 XML 数据存储在文档中。

通过 XML 文件格式,应用程序将能采用旧二进制文件格式(比如 .xls、.ppt 和 .doc)所无法实现的方式来处理文档。任何可读取 ZIP 存档的应用程序都能检查和修改文档的内容(即使未安装 Microsoft Office)。

有关 Open XML 和自定义 XML 部件的结构的更多信息,请参见下列文章:

说明说明

通过 Excel、Word 和 PowerPoint,您也可以在以二进制文件格式保存的文档中使用自定义 XML 部件。但是,如果文档以二进制格式保存,则您无法在未启动 Microsoft Office 应用程序的情况下添加或修改自定义 XML 部件。

创建和修改自定义 XML 部件

在 Office 应用程序中打开文档时,或者当文档处于关闭状态时(即使未安装 Microsoft Office),您都可以创建或修改自定义 XML 部件。

Bb608618.collapse_all(zh-cn,VS.110).gif在 Office 应用程序正在运行时修改 XML 部件

您可以使用文档级自定义项或应用程序级外接程序来处理自定义 XML 部件。如果使用文档级自定义项,通常将处理位于自定义文档中的自定义 XML 部件。如果使用应用程序级外接程序,则您可以在应用程序中打开的任何文档中创建或修改自定义 XML 部件。

若要使用 Visual Studio 创建自定义 XML 部件,请将新的 CustomXMLPart 添加到文档中的 CustomXMLParts 集合中。有关更多信息,请参见下列主题:

Bb608618.collapse_all(zh-cn,VS.110).gif在不启动 Office 应用程序的情况下修改 XML 部件

您可以在不启动 Excel、PowerPoint 或 Word 的情况下添加或修改自定义 XML 部件。如果要在未安装 Microsoft Office 应用程序的计算机(如服务器)上处理文档中的 XML 数据,此方法非常有用。

若要在不启动 Microsoft Office 的情况下添加自定义 XML 部件,请使用 Open XML SDK 中的类。这些类用于访问 Office 文档特有的 Open XML 内容。例如,若要将自定义 XML 部件添加到 Excel 工作簿中,请使用 WorkbookPart 对象的 AddNewPart<T> 方法。有关更多信息,请参见 Open XML SDK 2.0

将自定义 XML 部件绑定到 Word 内容控件

您可以将 Word 解决方案中的内容控件绑定到自定义 XML 部件中的元素。当内容控件绑定到自定义 XML 部件后,自定义 XML 部件中的数据将会显示在内容控件的用户界面 (UI) 中。如果用户在控件中编辑文本,对应的 XML 元素会自动更新。同样,如果更改了自定义 XML 部件中的元素值,绑定到 XML 元素的内容控件也会显示新数据。有关更多信息,请参见内容控件

请参见

任务

如何:向文档级自定义项中添加自定义 XML 部件

如何:使用应用程序级外接程序将自定义 XML 部件添加到文档中

演练:将内容控件绑定到自定义 XML 部件

概念

文档级自定义项中的 XML 架构和数据

内容控件