Importing XML data

FileMaker Pro can import XML data into an existing FileMaker Pro file, or convert XML into a new FileMaker Pro file.

The XML can be a file, or the result of an HTTP request sent to a web server. For example, you could set up an Orders database to send tracking numbers to a package delivery company in the form of an HTTP request, and their web server could return the latest package tracking information in XML format, ready to be imported into the Orders database.

The XML that you import must conform to the FileMaker FMPXMLRESULT document type definition (DTD). If your XML is in a different format, you can apply an Extensible Stylesheet Language (XSLT) style sheet during import to transform your XML into the FMPXMLRESULT grammar. See XML format.

To import XML:

  1. What you do first depends on whether you are importing XML into an existing FileMaker Pro file, or converting XML into a new FileMaker Pro file.
  2. To import XML

    Do this

    Into an existing FileMaker Pro file

    Continue with step 2.

    By converting the XML into a new FileMaker Pro file

    Skip ahead to step 8.

  3. If you're updating matching records or replacing existing records, make a backup copy of the target file.

    Important  Updating matching records or replacing existing records overwrites data in the target file and cannot be undone. To safeguard your data, choose File menu > Save a Copy As to make a backup copy of the target FileMaker Pro file. You can do this only for a local file (located on your computer). Make sure you understand how updating or replacing records works. See Importing data into FileMaker Pro.

  4. In FileMaker Pro, open the target file.
  5. If the target file contains multiple tables, use the Layout pop-up menu to display a layout that shows records from the table you want to import data into.
  6. If you're updating matching records or replacing existing records, do the following before you import. (If you're adding new records, skip to the next step.)
    • If you're updating matching records, make sure the found set contains only the records you want to update. Records outside the found set will not be updated, even if match field data matches.
    • If you're replacing existing records in the file, make sure the found set contains only the records you want to change. If necessary, sort the records so that data from the correct record in the source file replaces data in each record in the target file.
  7. Choose File menu > Import Records > XML Data Source.

    The Specify XML and XSL Options dialog box appears.

  8. Skip ahead to step 10.

    You should only follow steps 8 through 9 if you are converting XML into a new FileMaker Pro file.

  9. Choose File menu > Open.
  10. In the Open File dialog box, for Files of type (Windows) or Show (macOS), choose XML Data Source.

    The Specify XML and XSL Options dialog box appears.

  11. For Specify XML Data Source, choose the source of the XML data to import.

    The XML source can be a file or the result of an HTTP request.

  12. To apply an XSLT style sheet to the XML before importing, select Use XSL style sheet and specify the source of the XSLT style sheet.

    When the XML you're importing does not conform to the FMPXMLRESULT DTD, you must apply an XSLT style sheet that transforms the XML into the proper grammar. The XSLT source may be a file or the result of an HTTP request.

  13. Click Continue.

    Using a Xerces-based XML parser and a Xalan-based XSLT processor, FileMaker Pro applies an XSLT style sheet (if you specified one) to transform the XML data. If an error message appears, correct the error and try importing again.

  14. Choose the import action to perform and map fields in the target file to the data you want to import from the source file. (See Setting the import action and mapping fields during import.) Choose options in the dialog box, then click Import.

    If you are converting the XML into a new FileMaker Pro file, type a name for the new file, choose a location, then click Save.

Notes 

  • For details about the requirements for well-formed XML, see the XML specification, which is available at www.w3.org/XML/.
  • FileMaker Pro uses the Xerces-C++ XML parser, which supports XML data in the following character encodings:
    • ASCII
    • UTF-8
    • UTF-16 (Big/Small Endian)
    • UCS4 (Big/Small Endian)
    • EBCDIC in both IBM037 and IBM1140 encodings
    • ISO-8859-1 (Latin1)
    • Windows-1252

    Although Windows-1252 is the default character encoding on Windows, this character encoding is not widely recognized by other XML processing tools. If you're using a Windows-based editing tool to generate XML, check the encoding="..." declaration to see which character set it generates. See the Xerces C++ FAQ on the Apache website at xerces.apache.org/xerces-c/.

  • In the Import Records script step when you specify XML Data as the data source, you can specify paths for the XML data and XSL style sheet in two ways:
    • For File, the path must be in FileMaker format (see Creating file paths).
    • For Calculation, the path must be the full path in the operating system's format. For example:

      Windows: driveletter:\directoryName\fileName

      macOS: /directoryName/fileName

      If you are providing a cross-platform custom app, you can use the Get(SystemPlatform) function to identify the current platform and use the correct format for each platform.