在 MS Access 中 XML 导出时创建图像引用

在 MS Access 中 XML 导出时创建图像引用

我正在使用 MS Access 数据库和 Adob​​e InDesign 自动创建目录。我想将图像的文件路径保存在数据库中,并在从 MS Access 导出时将它们变成 XML 中有意义的标签。

截至目前,Access 仅为每一列创建一个 XML 标签,如下所示:

<IMG>href="file:///folder/image.jpg</IMG>

但是,为了将这些图像插入到我的最终文档中,我需要以下内容:

<IMG href="file:///folder/image.jpg">

到目前为止,我正在手动对生成的 XML 文件执行“查找+替换”来修复这些标签。但是,我希望能够以某种方式自动化此工作流程。是否有合适的方法可以在 MS Access 中实现此结果,还是必须在 XML 文件本身中处理?

答案1

好吧,我收到了“Tumbleweed”徽章,所以我想我可以发布我的解决方法,以便其他可能试图解决这个问题的人能够从中受益。

我无法在 MS Access 中获得所需的结果,但可以借助以下工具自动执行查找-删除过程:Sublime Text 2(尽管 Sublime Text 3 也应该能同样好用)。

安装 Sublime Text 2 后,我添加了注册表替换插入以便创建自定义命令来查找和替换 MS Access 导出的 XML 文件中的文本。有关安装注册表替换,您可以咨询这篇博文

首先,我们必须从 MS Access 数据库的 IMG 列中删除href=,因为 RegReplace 命令会自动添加它们。在 Access 中的一行中,图像路径应显示如下:

"file:///folder/image.jpg"

为了从

<IMG>"file:///folder/image.jpg"</IMG>

在从 Access 导出的 XML 中

<IMG href="file:///folder/image.jpg">

我们需要编写一个查找替换命令来查找字符<IMG>和,并分别</IMG>用 和 替换它们。<IMG href=/>

为此,必须输入并保存以下内容Preferences > Package Settings > Reg Replace > Settings - Default

//Reformat IMG tags
    "IMG_reg_replace": {
        "find": "<IMG>",
        "replace": "<IMG href=",
        "find": "</IMG>",
        "replace": "/>"
    }

然后,在Preferences > Package Settings > Reg Replace > Commands - Default输入以下内容然后保存:

//Reformat IMG Tags
    {
        "caption": "Reg Replace: Reformat IMG Tags",
        "command": "reg_replace",
        "args": {"replacements": ["IMG_reg_replace"]}
    },

现在,该命令已在 RegEdit 插件的默认值中定义和引用,我们可以在从 MS Access 导出的 XML 文件上使用它。在 Sublime Text 中打开 XML 文件,然后按Ctrl+Shift+P打开命令面板并输入 IMG。命令将出现,单击后,XML 文件的所有实例将<IMG>替换为有意义的文件路径引用,可用于在 Adob​​e InDesign 中将图像加载为锚定对象。

相关内容