【发布时间】:2016-03-06 04:30:17
【问题描述】:
我在 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>
问题:
-
如何根据 Import.IO 中的数据验证上述样式表?我很乐意将其导出到 Excel 并从那里进行测试。
-
上面的样式表有什么明显的问题吗?
-
如何将我的 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,然后将其直接导入到 FMP 的临时表中。如此简单,但如此手动! 必须有一个自动解决方案。 谢谢
【问题讨论】:
-
更新您的信息:我可以帮助您处理 XSLT - 如果您发布了调用 API 后收到的原始 XML。恐怕我没有时间自己试验 API。
标签: xml excel xslt filemaker import.io