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

我在Import.IO中有一个很好的网页报废,我想设置从Import.IO到Filemaker Pro的自动上传。 我已经花了几个月的时间,我不知道为什么它不工作。 这是我所做的。 我不会详细介绍Import.IO的内容,因为最终您可以select使用Excel,CSV,JSON导出,或者使用RESTfultypes的技术,这是我想要的,通过它们的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. 我如何才能validation上面的样式表对我从Import.IO的数据? 我很高兴将其导出到Excel并从那里进行testing。

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

  3. 我怎样才能把我的API放在这里,让其他人可以在FMP中testing它?

FMP是一个很好的系统,但是它的RESTful文档是可怜的说实话。 我对Web服务,XML导入和RESTful协议知之甚less,所以我们将不胜感激。

谢谢

更新看看家伙我不是一个XML大师或真正了解XSL和样式表。 我想要的只是能够使用Import.IO中的API将数据导入到Filemaker Pro中。 就这么简单! 我不想创build一个服务器,或翻译,或花哨的东西。 我原以为Import.IO API就足够了,他们的video暗示了这一点(不是FMP)。 所以除非你们不介意进入我的世界,否则创build一个免费的Import.IO帐户,创build一个API并用FMP进行testing,那么我真的不知道我可以给你多less。 我完全是XML,XSL和RESTful的初学者。 我不是要求你用勺子喂我。 我只需要一个适当的例子来说明如何使这项工作 – 如果它工作的话! 我唯一的select是将我的网页报废的数据从Import.IO导出为CSV,并直接导入FMP的临时表中。 这么容易,但如此手工! 必须有一个自动的解决scheme。 谢谢

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

是的,有几件事情。 首先,XML中的名称不能包含空格 – 所以当你要求:

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

要么:

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

那会产生一个错误。

接下来,您的上下文是根/节点,不能有属性 。 结果,你所有DATA元素将是空的。

这并不意味着你所报告的错误是由这些缺陷造成的。 这可能不是。

我怎样才能把我的API放在这里,让其他人可以在FMP中testing它?

你的API没有URL吗?

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

你不validation你的样式表,你应该validation你的XML。 样式表是工作或不 – 你只是testing它。

尝试使用样式表上的帮助来发布示例XML。

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

http://www.restfm.com/