1 Reply Latest reply on Sep 12, 2014 6:46 PM by FentonJones

    Can I set up Filemaker Pro 13 to create new records from an RSS feed url?

      Title

      Can I set up Filemaker Pro 13 to create new records from an RSS feed url?

      Post

      Hi,

      I have a table with a list of companies in it.

      In another related table I want to create records for the RSS fields each company sends out.

      So each day when Company "X" sends out new RSS feeds Filemaker creates a new record for each new RSS article sent out.

      At the moment I use Vienna as my feed reader, and I copy and paste each feed into a new record of the related table, then in a portal on the company record I have a list of all the company's RSS feeds, when they were sent etc. Surely, there's a way FM can take all this copying and pasting away from me and automate it?

      Thanks

        • 1. Re: Can I set up Filemaker Pro 13 to create new records from an RSS feed url?
          FentonJones

          OK, I'm going to give a partial try. Basically, RSS is an XML based method, in a fairly specific manner. About the only time I really messed with it myself, was to Export, as XML, for RSS. Which is kind of the opposite of what you want to do. I looked (in my files) and found very little. I did find an XSL file, which would allow you to Import from a RSS source (hopefully). I was able to do so from a XML file, which was gotten from a RSS source. 

          [ I removed some lines, as they were dupes, and also not very good :-]

          The following is what the XSL file (i.e., "file_name.xsl") looks like. It can be put most any reliable where that you can tell it where it is; on your local computer, or on a http place. I cannot be just put in a field, though such could be exported to a known location. XML is fussy about the type of file however, and will squawk if anything is wrong.

          I am still working on the Import from many different RSS sources method. It is possible to specify a the "link" connection to different RSS feeds, each a separate Import, but from the same Import script step line. I'll have to find another source first. [ It has been many years since I even looked for such; I used to know more :-|

          This is what he XSL looks like. It is not terribly complex, and it should be the same for almost all RSS, as RSS was mean't to be (almost) universal; but likely some do not follow the rules.

          <?xml version="1.0" encoding="utf-8" ?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
              <xsl:output method="xml" encoding="utf-8" indent="yes" />    
              <xsl:template match="/rss/channel">
          <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
              <ERRORCODE>0</ERRORCODE>
              <PRODUCT BUILD="" NAME="FileMaker Pro XML Import" VERSION="6.0v1" />
              <DATABASE DATEFORMAT="yyyy.MM.dd" LAYOUT="" NAME="" RECORDS="" TIMEFORMAT="k:mm:ss" />
              <METADATA>
                  <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Title" TYPE="TEXT" />
                  <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="URL" TYPE="TEXT" />
                  <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Description" TYPE="TEXT" />
                  <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="pubDate" TYPE="TEXT" />
              </METADATA>
              <RESULTSET FOUND="">
                  <xsl:for-each select="item" >
                      <xsl:variable name="c">
                          <xsl:value-of select="position()" />
                      </xsl:variable>
                  <ROW MODID="" RECORDID="$c" >
                      <COL><DATA><xsl:value-of select="title" /></DATA></COL>
                      <COL><DATA><xsl:value-of select="link" /></DATA></COL>
                      <COL><DATA><xsl:value-of select="description" /></DATA></COL>
                      <COL><DATA><xsl:value-of select="pubDate" /></DATA></COL>
                  </ROW>
                  </xsl:for-each>
              </RESULTSET>
          </FMPXMLRESULT>
              </xsl:template>
          </xsl:stylesheet>