--- title: "Importing and structuring XML/JSON data" slug: "importing-and-structuring-xml-json-data" tags: ["xml_json", "task"] updated: 2026-11-13T08:13:54Z published: 2026-11-13T08:13:54Z canonical: "help.dox42.com/importing-and-structuring-xml-json-data" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.dox42.com/llms.txt > Use this file to discover all available pages before exploring further. # Importing and structuring XML/JSON data Add an XML/JSON data source to your data map to import and structure XML or JSON data. This data can then be reused as structured data fields within the data map and your template. In this article, learn how to import and structure data with flat structures. For information on working with more complex XML/JSON data, see [processing nested XML/JSON structures](/help/docs/nested-loops). ## Prerequisites - [You have created a document template](/help/docs/creating-a-document-template). - [You have created a data map](/help/docs/creating-a-standard-data-map). ## Steps 1. In Microsoft Word, Excel or PowerPoint, open your document template. 2. Next, go to the **dox42** ribbon and select **Data Map**. ![Toolbar displaying various functions like Generate, Data Map, and Refresh Template options.](https://cdn.document360.io/3acc69da-1de2-431d-95a6-08ae83717b4a/Images/Documentation/connecting-the-dox42-d365-ce-crm-data-source-to-microsoft-dynamics-crm-or-d365-ce-image-yhjte275.png) **dox42** ribbon The **Data Map Designer** window opens and previously added data sources appear. ![Data Map Designer interface showing various data sources and input parameters for configuration.](https://cdn.document360.io/3acc69da-1de2-431d-95a6-08ae83717b4a/Images/Documentation/image-1783320993275.png) Data sources of a data map 3. Select the **XML/JSON** data source from the **Data Sources** tab**.** The **XML/JSON** window opens. ![Configuration window for XML/JSON data source with fields for name and URL.](https://cdn.document360.io/3acc69da-1de2-431d-95a6-08ae83717b4a/Images/Documentation/xml-json_data_source_window.png) **XML/JSON** window 4. In the **Data Source** tab, enter a name for the new data source in the **Name** field. > [!NOTE] > Note > > Names should follow your internal guidelines consistently to help template users understand and navigate your templates easily. 5. Select **GET** from the **URL/XML/JSON** dropdown. 6. Load your XML/JSON data in one of the following ways: **Loading XML/JSON data from a file or URL** In the text box to the right of **GET**, enter a path or URL to an XML or JSON data source. If the XML or JSON data is retrieved via a web service, additional authentication details may be required (e.g., tokens, credentials). Configure these using the **HTTP Header** button. > [!TIP] > Tip > > Relate the data source to your template and data map to ensure that it remains accessible at all times, even if the location of your template and data map changes. Therefore, use the **DocPath** feature. First, delete the beginning of the existing path/URL up to the last backslash before the data source name. Place <%docpath%> before the data source name. ![](https://cdn.document360.io/3acc69da-1de2-431d-95a6-08ae83717b4a/Images/Documentation/xml_json_docpath.png) Dynamic path to XML/JSON file **Loading XML/JSON data from an input parameter** To do this, you must first have created an input parameter in the data map in which the request body of an HTTP request is stored. This input parameter can be read as a data field by the XML/JSON data source. You can find detailed instructions under [Loading XML/JSON data from an input parameter](/help/docs/importing-xml-json-data-from-an-input-parameter). ### Initialising the XML/JSON data source 7. Next, initialise the data source’s structure so that dox42 can read it correctly. First, you need to specify the XML/JSON element from which data is to be read. Then, all child elements are made available as data fields. This is crucial for iterations, groupings and correct data mapping. Therefore, in the **Initialisation & Fields** tab, select the **Init from XSD/XML/JSON/WSDL** button. ![](https://cdn.document360.io/3acc69da-1de2-431d-95a6-08ae83717b4a/Images/Documentation/xml_json_Initialisation_Fields_button(1).png) **Initialisation & Fields** tab in the **XML/JSON** window The **Init XML/JSON Data Source** window opens. 8. Select the **three dots** to choose an XML/JSON file and read its structure. 9. Select the **Load** button to load its structure. The structure of the data source is displayed. 10. Select the element level from which the data is to be read. If you wish to read all the data, select the `root` element. 11. Select the **OK** button to close this window and go back to the **XML/JSON** window. All elements located below the selected (`root`) element are displayed in the table as structured data fields. 12. Via the **Read** column in the table, select how you want to read the individual XML elements: - `SubElement` To read the entire element (default value) - `Attribute` To read the element’s attributes - `Content` To display all content as text, without any XML structure - `XPath` To display specific values using a filter 13. Via the **Data Field Name** column, define your data fields’ names that will be displayed in your template. > [!NOTE] > Prefixes for better data field recognition > > If an XML file contains namespaces, they are recognised automatically during initialisation. dox42 adds a prefix for the namespace to the name of the data field, e.g. `emp:FirstName` to improve recognition of the data field. 14. Leave the **Complex Type** checkbox selected if you want to retrieve all the sub-elements of an element. These sub-elements can be accessed via an additional XML/JSON data source; see [processing nested XML/JSON structures](/help/docs/nested-loops). If you only need the main element and no additional string information, then unmark it. ![](https://cdn.document360.io/3acc69da-1de2-431d-95a6-08ae83717b4a/Images/Documentation/xml_json_initialisation_read_structure.png) Recognised JSON structure in the **Initialisation & Fields** tab ### Testing the XML/JSON data source 15. Once initialisation is complete, check whether the structure has been recognised correctly, whether all the required fields are present and whether the data is being read as expected. To do so, in the **XML/JSON** window, select the **Test** button. 16. Select the **OK** button to close this window and go back to the **Data Map Designer** window. 17. Save your data map. ## Result You have added an XML/JSON data source to your data map and structured the data so that it can be read. You have also created data fields for the elements of the XML/JSON data source, which you can now use for your template design. > [!NOTE] > What should you do if the XML/JSON data source changes in the future? > > - If the general structure remains the same and only additional elements are added, it is sufficient to reinitialise the file in order to add the new elements as data fields. > - If the overall structure—in terms of hierarchies and/or element names—changes completely, it is advisable to reinitialise the file and then have the template highlight any incorrect references. > - To do so, go to the **dox42** ribbon and select **Refresh Template**. > > ![Toolbar displaying various functions like Generate, Data Map, and Refresh Template options.](https://cdn.document360.io/3acc69da-1de2-431d-95a6-08ae83717b4a/Images/Documentation/connecting-the-dox42-d365-ce-crm-data-source-to-microsoft-dynamics-crm-or-d365-ce-image-yhjte275.png) > > **dox42** ribbon > > Incorrect references are highlighted in red and must be replaced. > > ![](https://cdn.document360.io/3acc69da-1de2-431d-95a6-08ae83717b4a/Images/Documentation/image(55).png) > > Incorrectly referenced data fields ## Next steps - [Insert the new data fields into your template](/help/docs/inserting-data-fields) - [Generate your document](/help/docs/generating-a-document-for-testing-1) - [Learn how to process nested XML/JSON structures](/help/docs/nested-loops)