自定义 XML 部件概述

对于某些 Microsoft Office 应用程序,可在文档中嵌入 XML 数据。 在文档中嵌入 XML 数据时,数据将命名为 自定义 XML 部件

可使用 Visual Studio 中的 VSTO 外接程序或文档级解决方案来创建和修改自定义 XML 部件。 无需启动 Microsoft Office 应用程序来创建和修改自定义 XML 部件。

适用于: 本主题中的信息适用于 Excel、PowerPoint 和 Word 的文档级项目和 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

注意

Visual Studio 还使你能够在文档级自定义项中缓存数据对象。 尽管有一些相似之处,此功能并不同于自定义 XML 部件。 有关详细信息,请参阅 文档级自定义项中的缓存数据。

了解自定义 XML 部件

自定义 XML 部件和 Open XML 格式一起在 2007 Microsoft Office 系统中引入。 这些格式包括 Excel、PowerPoint 和 Word 的新基于 XML 的文件格式(如 .xlsx.pptx.docx)。 这些格式的文档由在 ZIP 存档中的文件夹中组织的 XML 文件(也称为 XML 部件)组成。 大多数 XML 部件为有助于定义文档的结构和状态的内置部件。 但文档还可包含自定义 XML 部件,可用于将任意 XML 数据存储在文档中。

通过 XML 文件格式,应用程序可以使用旧二进制文件格式(如 .xls.ppt.doc)无法处理文档。 可读取 ZIP 存档的所有应用程序都可检查和修改文档内容,即使未安装 Microsoft Office。

有关 Open XML 和自定义 XML 部件的结构的详细信息,请参阅以下文章:

注意

Excel、Word 和 PowerPoint 还使你可以使用以二进制文件格式保存的文档中的自定义 XML 部件。 但如果文档以二进制格式保存,则无法添加或修改自定义 XML 部件,除非启动 Microsoft Office 应用程序。

创建和修改自定义 XML 部件

当文档在 Office 应用程序中打开时,或当文档关闭时,可创建或修改自定义 XML 部件,即使未安装 Microsoft Office。

在办公室应用程序运行时修改 XML 部件

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

若要通过使用 Visual Studio 来创建自定义 XML 部件,请将新的 CustomXMLPart 添加到文档中的 CustomXMLParts 集合。 有关详情,请参阅以下主题:

在不启动办公室应用程序的情况下修改 XML 部件

可在不启动 Excel、PowerPoint 或 Word 的情况下添加或修改自定义 XML 部件。 需在未安装 Microsoft Office 应用程序的计算机(如服务器)上使用文档中的 XML 数据时,这将非常有用。

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

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

可将 Word 解决方案中的内容控件绑定到自定义 XML 部件中的元素。 当内容控件绑定到自定义 XML 部件时,自定义 XML 部件中的数据将显示在内容控件的用户界面 (UI)。 如果用户编辑控件中的文本,则将自动更新相应的 XML 元素。 同样,如果自定义 XML 部件中的元素值发生更改,则绑定到 XML 元素的内容控件将显示新的数据。 有关详细信息,请参阅 内容控件