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

时间:2016-03-06 04:30:18

标签: xml excel xslt filemaker import.io

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

  

"第1行出现错误,第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中测试它?

  4. FMP是一个很棒的系统,但它的RESTful文档很难说是诚实的。我对Web服务,XML导入和RESTful协议知之甚少,因此任何其他建议都将受到赞赏。

    谢谢

    更新 看看伙计我不是XML大师,也不了解XSL和样式表。 我想要的是能够使用Import.IO中的API将数据导入Filemaker Pro。它就这么简单! 我不想创建服务器,翻译或花哨的东西。 我本以为Import.IO API已经足够了,他们的视频暗示了这一点(尽管不是用FMP)。 因此,除非你们想要进入我的世界,创建一个免费的Import.IO帐户,创建一个API并用FMP进行测试,然后我真的不知道我能给你什么。我是XML,XSL和RESTful的初学者,无论它被称为什么。 我不是要你用勺子喂我。我只需要一个如何使这项工作的正确例子 - 如果它可以工作! 我唯一的选择是将我的Web报废数据从Import.IO导出为CSV,并将其直接导入到FMP的临时表中。这么容易,但是手动! 必须有一个自动解决方案。 谢谢

2 个答案:

答案 0 :(得分:1)

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

您不验证样式表,您应该验证XML。样式表既可以使用也可以不运行 - 您只需测试它。

尝试使用样式表上的帮助发布样本XML。

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

http://www.restfm.com/

答案 1 :(得分:1)

  

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

是的,好几件事。首先,XML中的名称不能包含空格 - 因此当您调用:

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

或:

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

会产生错误。

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

这并不意味着您报告的错误是由任何这些缺陷引起的。它可能不是。

  

如何在此处插入我的API,以便其他人可以在FMP中测试它?

您的API没有网址吗?