{{ transformations:ImportXmlAction.png}}
======IMPORT XML FILE======
Category: Import / File\\
\\
=====Description=====
Import data from an XML file. Data elements are specified by an XML path. Optionally, data elements can be further narrowed down by selecting only particular XML elements and/or their attributes. Values and attributes of parent elements are repeated for child elements in order to preserve the relationship between them.\\
\\
=====Action settings=====
^ Setting ^ Description ^
|Load file*| Fully-qualified file name of the dataset (includes relative or absolute path). |
|Decimal separator|Sets whether decimal places are represented by points or commas. Options: //Points// or //Commas//. |
|Thousand separator|Sets the character that represents thousands places. Options: //Default//, //Comma//, //Point// or //Space//. |
|DTD Processing|Sets the parsing mode EasyMoprh will use for DTD definition parsing. See below.|
|Value types|Sets whether EasyMorph will interpret between text and numeric values, or read all data in as text values.\\ Options: //Auto//, //All text//.|
|Root XML path*|Options: //Table//, //Table/Columns/Column//, //Table/Columns/Column/Cells//, //Table/Columns/Column/Cells/Cell//.|
* Setting can be specified using a [[:parameters|parameter]].\\
\\
==== DTD parsing modes ====
There are three modes that instruct EasyMorph how to parse DTD definitions:
^ Mode ^ Behavior ^
|Prohibit (default) |DTD is not allowed. When DTD is encountered in the loaded XML file the project fails. |
|Ignore |DTD is allowed but ignored. When DTD is present in the loaded XML file it is completely ignored and no error is generated. |
|Parse |DTD is parsed. |
=== Restrictions ===
* Re-definition of namespaces is not supported. Elements with re-defined namespaces are ignored.
* Multiple default namespaces per element not supported.
* XML validation according to DTD or XDS is not performed.
\\
=====Remarks=====
Empty elements (e.g. or ) are converted into empty text strings, while missing elements result in empty values (i.e. nulls).\\
\\
=====Community examples=====
* [[https://community.easymorph.com/t//1475/1|Finding all projects with particular action]] ([[https://community.easymorph.com/uploads/short-url/cM8AssOT6zQXD8JDr9adUAy2sDM.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Documents//; Action position: //3//)
* [[https://community.easymorph.com/t//1941/9|Breaking change in v4.4: Aggregate with Concatenate and grouping]] ([[https://community.easymorph.com/uploads/short-url/moOdgsWDrFlT6giFyP8tviJn1Sq.morph|Project]]; Module: //ScanWithModule//; Group: //Tab 1//; Table: //Version//; Action position: //1//)
* [[https://community.easymorph.com/t//2063/2|Embedded connection - search for type email server]] ([[https://community.easymorph.com/uploads/short-url/c6uoEKu1XMEc4EFbUol4r0cQS2B.morph|Project]]; Module: //Get connectors//; Group: //Tab 1//; Table: //Imported table 1//;\\ Action position: //1//)
\\
=====Shortcuts=====
Fast ways to create the action:
* Press the "Add data" menu button. Pick "Import file" or "Import multiple files".
* Drag an XML file into the application window. Supported file extensions: .xml
* Drag a folder with XML files into the application window.
\\
=====See also=====
* [[transformations:parsexml|Parse XML]]
* [[transformations:importjson|Import JSON]]