XML FMPXMLRESULT语法文档声明:
XML导出不支持导出容器字段数据。
这似乎意味着可以导入(它还指定可以在XML中将字段表示为类型"CONTAINER")。然而,我没有发现任何关于如何做到这一点的文档。
有可能吗?我知道有一些方法可以在事后将图像文件放入Filemaker,但我可以事先在XML中指定它吗?这样就不需要额外的脚本或对导入进行后期处理(更不用说在Filemaker 11或更低版本中工作的东西了)?
您可以导入文件引用,但不能导入二进制数据。(您必须在XML文件中将字段指定为TEXT
类型。)例如:
<?xml version="1.0" encoding="UTF-8"?>
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>
<PRODUCT BUILD="01-25-2011" NAME="FileMaker"
VERSION="ProAdvanced 11.0v3" />
<DATABASE DATEFORMAT="M/d/yyyy" TIMEFORMAT="h:mm:ss a"
LAYOUT="" NAME="" RECORDS="" />
<METADATA>
<FIELD EMPTYOK="YES" MAXREPEAT="1" TYPE="TEXT" NAME="Path" />
</METADATA>
<RESULTSET FOUND="">
<ROW>
<COL>
<DATA>image:test.jpg</DATA>
</COL>
</ROW>
</RESULTSET>
</FMPXMLRESULT>
路径必须为FileMaker格式;在这里,我使用了与文件位于同一目录中的test.jpg
的相对路径(仅适用于本地文件),但它也可以是绝对路径,例如:
imagewin:/C:/Some/Path/test.jpg
您的最佳选择可能是导入Base64编码的数据,然后使用Base64Decode函数对其进行解码。
导入图像,最好是从http
我不知道这到底意味着什么。如果您的XML包含指向图像的链接,那么您唯一能做的就是将链接导入为文本。如果您使用的是版本12或更高版本,则可以按照此步骤执行"从URL插入"脚本步骤(对于每个导入的记录)。