Xml Filemaker Pro和Import.IO。如何使用import.IO API导入FMP?
我在Import.IO中有一个很好的web刮板,我想设置从Import.IO到Filemaker Pro的自动上传。我花了几个月的时间在这上面,我不知道为什么它不起作用。 这就是我所做的。 我不会详细讨论Import.IO的内容,因为最终您可以选择以Excel、CSV、JSON或使用RESTful类型技术(这是我想要的)通过API进行导出。 我有我的API,但是当我把它导入FMP时,我总是会遇到这个错误 “第1行中的错误,字符1” 我手工开发的样式表如下:Xml Filemaker Pro和Import.IO。如何使用import.IO API导入FMP?,xml,excel,xslt,filemaker,import.io,Xml,Excel,Xslt,Filemaker,Import.io,我在Import.IO中有一个很好的web刮板,我想设置从Import.IO到Filemaker Pro的自动上传。我花了几个月的时间在这上面,我不知道为什么它不起作用。 这就是我所做的。 我不会详细讨论Import.IO的内容,因为最终您可以选择以Excel、CSV、JSON或使用RESTful类型技术(这是我想要的)通过API进行导出。 我有我的API,但是当我把它导入FMP时,我总是会遇到这个错误 “第1行中的错误,字符1” 我手工开发的样式表如下: <?xml version='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>
问题:
谢谢你除非你传递一个带有19个属性的节点,否则你的样式表没有意义。这带来了第二个问题——为什么有些属性有空格。我现在不导入.IO,但这将打破一般的XML规则 如果不验证样式表,则应验证XML。样式表要么有效,要么无效——您只需测试它 尝试在样式表上发布示例XML和帮助 FIleMaker不是RESTful应用程序,我不知道您指的是什么文档。如果需要使用RESTful,请查看restfm: 上面的样式表有什么明显的错误吗 是的,有几件事。首先,XML中的名称不能包含空格-因此当您调用:
<xsl:value-of select="@Result Number"/>
或:
这将产生一个错误
接下来,您的上下文是根/
节点,它不能有属性。因此,所有数据元素将为空
这并不意味着您报告的错误是由这些缺陷引起的。可能不是
我如何在这里输入API,以便其他人可以在FMP中测试它
你的API没有URL吗 “FIleMaker不是RESTful应用程序”我认为这与以下问题无关:OP希望从RESTful API导入,而不是提供RESTful API。我对此表示感谢,但该评论是针对OP抱怨FIleMaker的RESTful文档“不好”的回应。@NicolaiKant XML没有意义?好吧,请帮我弄明白。他们的XML标准上的FMP文档是垃圾。例如,没有什么可以解释如何避免前两行数据。什么对你有意义?对不起,但仍然没有意义。为什么要避免前两行数据?请勿将其导出或从导入中删除。它不是FIleMaker XML没有意义它是您的XSLT。请重新阅读Michael的回复,您的映射是带有空格的属性,因此传入的XML将无法通过标准XML验证。感谢您提供的提示。是的,API是一个URL,但这对我们和我们的Import.io帐户来说不是一个安全问题吗?@Fernando68我对Import.io了解不够,无法回答这个问题。他们不提供一个“沙箱”进行测试吗?如果不是,你不能为自己创建这样的“沙箱”帐户吗从我读到的很少的内容来看,他们所做的只是重新格式化一个公开可用的站点——因此发布一个指向结果的URL并不比指向原始站点的URL更能说明问题。但这只是我的猜测。哇,你真的花了好几个月在这上面吗?大概一个小时就能解决。我个人不会在这种情况下使用XSL,因为它就像用榴弹炮射击苍蝇一样。一个简单的(对于FileMaker本机来说也是如此)PHP脚本卷曲API并使用simpelXML呈现可导入的XML是一个超级简单、易于维护和节省时间的解决方案。如果您还没有解决这个问题,请转到PHP/simpleXML并完成此操作
<xsl:value-of select="@Data Origin"/>