{{ 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]]