保存、导入和导出数据 > 将数据导入 FileMaker Pro Advanced > 导入 XML 数据
 

导入 XML 数据

FileMaker Pro Advanced 可以将 XML 数据导入到现有 FileMaker Pro Advanced 文件中,或将 XML 数据转换为新的 FileMaker Pro Advanced 文件。

XML 可以是物理文件,也可以是发送到 Web 服务器的 HTTP 请求的结果。例如,可以建立一个“订单”数据库,以 HTPP 请求的形式向软件包传递服务公司发送跟踪编号,该公司的 Web 服务器将返回 XML 格式的最新软件包跟踪信息,并随即导入到“订单”数据库中。

您导入的 XML 必须符合 FileMaker FMPXMLRESULT 文档类型定义 (DTD)。如果 XML 采用其他格式,则在导入过程中可以应用可扩展样式表语言 (XSLT) 样式表,以便对 XML 进行转换使之符合 FMPXMLRESULT 语法。请参阅XML 格式

要导入 XML:

1. 首先执行的操作取决于是要将 XML 导入到现有的 FileMaker Pro Advanced 文件还是将 XML 转换为新的 FileMaker Pro Advanced 文件。

 

要导入 XML

请执行此操作

到现有 FileMaker Pro Advanced 文件

继续执行步骤 2。

通过将 XML 转换为新的 FileMaker Pro Advanced 文件

跳至步骤 8。

2. 如果要更新现有或匹配记录,请为导入操作的目标文件创建一个备份副本。

重要事项  更新现有或匹配记录会改写目标文件中的数据,并且无法撤消。选择“文件”菜单 >“另存为”创建目标文件的备份副本。只能对本地文件(位于您计算机上的文件)执行此操作。请确保您了解更新记录的工作方式。请参阅将数据导入 FileMaker Pro Advanced

3. 打开要向其中导入记录的 FileMaker Pro Advanced 文件(目标文件)。

4. 如果目标文件包含多个表,请使用“布局”弹出菜单来显示一个布局,该布局中显示数据导入目标表中的记录。

5. 如果要更新现有或匹配记录,请在导入前执行以下操作。(如果要添加新记录,请跳到下一步。)

如果要更新文件中的现有记录,请确保搜索结果中只包含要替换的记录。对记录进行排序(例如按字段名)以确保要导入的数据会替换目标文件中的正确记录。

如果要更新匹配记录,请确保搜索结果仅包含要更新的记录。即使匹配字段的数据相匹配,搜索结果外的记录也不会被更新。

6. 选择“文件”菜单 >“导入记录”>“XML 数据源”。

随即出现“指定 XML 和 XSL 选项”对话框。

7. 跳至步骤 10

如果要将 XML 转换为新的 FileMaker Pro Advanced 文件,则只应按照步骤 89 操作。

8. 选择“文件”菜单 >“打开”。

9. 在“打开文件”对话框中,对于“文件类型”(Windows) 或“显示”(macOS),选择“XML 数据源”。

随即出现“指定 XML 和 XSL 选项”对话框。

10. 对于“指定 XML 数据源”,请选择要导入的 XML 数据源。

XML 源可以是文件,也可以是 HTTP 请求的结果。

11. 要在导入前对 XML 应用 XSLT 样式表,请选择“使用 XSL 样式表”并指定 XSLT 样式表的数据源。

如果要导入的 XML 不符合 FMPXMLRESULT DTD,则必须应用 XSLT 样式表,以将此 XML 转换为正确的语法。XSLT 源可以是文件,也可以是 HTTP 请求的结果。

12. 单击“继续”。

使用基于 Xerces 的 XML 分析器和基于 Xalan 的 XSLT 处理器,FileMaker Pro Advanced 会应用 XSLT 样式表(如果已指定一个)来转换 XML 数据。如果出现错误消息,请纠正此错误并再次尝试导入。

13. 执行以下某项操作:

 

如果要导入 XML

请执行此操作

到现有 FileMaker Pro Advanced 文件

将出现“导入字段映射”对话框,在其中选择要执行的导入类型,然后将数据库中的字段映射到要导入的数据上。(请参阅在导入过程中设置导入操作和映射字段。)选择对话框中的选项,然后单击“导入”。

通过将 XML 转换为新的 FileMaker Pro Advanced 文件

将出现“命名已转换的文件”对话框。为新文件键入名称,选择一个位置,然后单击“保存”。

注释 

有关格式正确的 XML 的要求方面的详细信息,请参阅 XML 规范,网址为 www.w3.org/XML/

FileMaker Pro Advanced 使用 Xerces-C++ XML 分析器,该分析器支持采用下列字符编码的 XML 数据:

ASCII

UTF-8

UTF-16 (Big/Small Endian)

UCS4 (Big/Small Endian)

采用 IBM037 和 IBM1140 编码的 EBCDIC

ISO-8859-1 (Latin1)

Windows-1252

尽管 Windows-1252 是 Windows 的默认字符编码,但能够识别该字符编码的其他 XML 处理工具并不多。如果使用基于 Windows 的编辑工具生成 XML,请检查 encoding="..." 声明以查看它所生成的字符集。请参阅 Apache Web 网站上的 Xerces C++ FAQ,网址为 xerces.apache.org/xerces-c/

如果使用算式为 XML 文件生成文件路径,则必须对完整路径使用操作系统使用的格式。例如,以下为有效路径:

Windows:驱动器号:/目录名/文件名称

macOS:/卷/卷名/目录名/文件名称

如果正提供跨平台解决方案,可以使用 Get (系统平台) 函数确定当前平台,然后针对每种平台使用正确的格式。