Filemaker Pro 和 Import.IO。如何使用 Import.IO API 导入 FMP?

Filemaker Pro and Import.IO. How to import into FMP using Import.IO API?

我在 Import.IO 中有一个不错的网络抓取工具,我想设置从 Import.IO 自动上传到 Filemaker Pro。我在这上面花了几个月,我不知道为什么它不起作用。 这是我所做的。 我不会详细介绍 Import.IO 内容,因为最后您可以选择以 Excel、CSV、JSON 或使用 RESTful 类型的技术导出是我想要的,通过他们的 API。 我有我的 API,但是当我将它导入 FMP 时,我总是得到这个错误

"Error in line 1, char 1".

我亲手开发的样式表如下:

<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
            <METADATA>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Input" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Result Number" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Widget" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Data Origin" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Result Row" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Source Page URL" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Link" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="f8" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="f9" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="f10" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Address" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Price" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Availability" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Baths" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Beds" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Cars" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="New" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Open" TYPE="TEXT"/>
                <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Agent" TYPE="TEXT"/>
            </METADATA>
            <RESULTSET>
                <ROW>
                    <COL><DATA><xsl:value-of select="@input"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Result Number"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Widget"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Data Origin"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Result Row"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Source Page URL"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Link"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@f8"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@f9"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@f10"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Address"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Price"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Availability"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Baths"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Beds"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Cars"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@New"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Open"/></DATA></COL>
                    <COL><DATA><xsl:value-of select="@Agent"/></DATA></COL>
                </ROW>
            </RESULTSET>
        </FMPXMLRESULT> 
    </xsl:template>
</xsl:stylesheet>

问题:

  1. 如何根据 Import.IO 中的数据验证上述样式表?我很高兴将其导出到 Excel 并从那里进行测试。

  2. 上面的样式表有什么明显的错误吗?

  3. 如何将我的 API 放在这里,以便其他人可以在 FMP 中进行测试?

FMP 是一个很棒的系统,但它的 RESTful 文档说实话很糟糕。我对 Web 服务、XML 导入和 RESTful 协议知之甚少,所以任何其他建议将不胜感激。

谢谢

更新 伙计们,我不是 XML 专家,也不是真正了解 XSL 和样式表的任何东西。 我想要的只是能够使用 Import.IO 中的 API 将数据导入 Filemaker Pro。就这么简单! 我不想创建服务器、翻译器或花哨的东西。 我本以为 Import.IO API 就足够了,他们的视频暗示了这一点(虽然不是 FMP)。 所以除非你们愿意进入我的世界,创建一个免费的 Import.IO 帐户,创建一个 API 并使用 FMP 进行测试,否则我真的不知道我还能给你们什么。我是 XML、XSL 和 RESTful 的初学者。 我也不是要你用勺子喂我。我只需要一个正确的例子来说明如何使它起作用——如果它起作用的话! 我唯一的选择是将我的网络抓取数据从 Import.IO 导出为 CSV,然后将其直接导入临时 table 到 FMP。如此简单,但如此手动! 必须有一个自动解决方案。 谢谢

除非您传递具有 19 个属性的单个节点,否则您的样式表没有意义。这就带来了第二个问题——为什么你的一些属性有空格。我现在 Import.IO 但这会违反一般 XML 规则。

您没有验证您的样式表,您应该验证您的 XML。样式表要么有效要么无效 - 您只需对其进行测试。

尝试在样式表的帮助下post您的示例XML。

FIleMaker 不是 RESTful 应用程序,我不知道您指的是什么文档。如果你需要使用 RESTful 查看 restfm:

http://www.restfm.com/

Is there anything obviously wrong with the stylesheet above?

是的,有几件事。首先,XML 中的名称不能包含空格 - 所以当您调用时:

<xsl:value-of select="@Result Number"/>

或:

<xsl:value-of select="@Data Origin"/>

这会产生错误。

接下来,您的上下文是根 / 节点,它不能具有 属性 。因此,所有 您的 DATA 元素将为空。

这并不意味着您报告的错误是由这些缺陷中的任何一个引起的。应该不是。

How can I put in here my API so someone else can test it in FMP?

你的 API 没有 URL 吗?