# XML/JSON File Source

Adding an *XML/JSON File Source* object to a dataflow allows you to read and transfer data from an XML or a JSON file.

### Video

{% embed url="<https://www.youtube.com/watch?v=mWdoPPFjO0c>" %}

### Getting XML/JSON Source Object

In this section, we will cover how to get an *XML/JSON File Source* object on the dataflow designer from the Toolbox.

1. To get an *XML/JSON File Source* from from the Toolbox, go to *Toolbox > Sources > XML/JSON File Source*. If you are unable to see the Toolbox, go to *View > Toolbox* or press Ctrl + Alt + X.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/ksQlTuY1yhh4a54W9QxN/1.png)

2. Drag-and-drop the *XML/JSON File Source* object onto the designer.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/67bH7qqVutILtaORiKSp/2.png)

You can see that the dragged source object is empty right now. This is because we have not configured the object yet.

### Configuring the XML/JSON File Source Object

1. To configure the *XML/JSON File Source* object, right-click on the header and select *Properties* from the context menu.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/7wIz4Cmz2PAG7OavgmBA/3.png)

When you select the *Properties* option from the context menu, a dialog box will open.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/xztkhosxIsCgHhw38vQe/4.png)

This is where you can configure properties for the *XML/JSON File Source* object.

2. The first step is to provide the *File Path* and *Schema Location* for the *XML/JSON Source* object. By providing the file path and schema, you are building the connectivity to the source dataset.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/Xz1i0tV0MpzJGRYIJQQ9/5.png)

* Check the *JSON Format* checkbox if your source file is a JSON.
* Check the *Provide Inner XML* checkbox to get the XML markup representing only the child nodes of the parent node.

  **Note**: In this case we are going to be using an XML/JSON file with *Orders* sample data in the parent node and *Order Details* sample data in the child node.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/bKBMhS139Rt1r4aViIAm/6.png)

3. Once you have specified the data reading options in this window, click *Next*.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/8uvwrAf90p5ePTOs5O64/7.png)

On the *XML Layout* window, you can view the layout of your XML/JSON source file.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/Gfx9T6c7lyHKpRAjVjE3/8.png)

4. After you are done viewing the layout, click *Next*. You will be taken to a new window, *Config Parameters*. Here, you can define the parameters for the *XML/JSON File Source*.

Parameters can provide easier deployment of flows by eliminating hardcoded values and provide an easier way of changing multiple configurations with a simple value change.

{% hint style="info" %}
**Note**: Parameters left blank will use their default values assigned on the properties page.
{% endhint %}

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/JD0RqLPcOeAvRfnfIPdz/9.png)

5. After you have configured the source object, click *OK*.

![](https://docs.astera.com/projects/centerprise/en/10/_images/1012.png)

You have successfully configured your *XML/JSON File Source* object. The fields from the source object can now be mapped to other objects in a dataflow.

![](https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/Ih5IpmLCGLWGaDdn5Knr/11.png)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.astera.com/dataflows/sources/xml-json-file-source.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
