Sai A Sai A
Updated date Nov 07, 2023
In this blog, we will learn how to transform JSON data into XML using Python with simple explanations and two effective methods.

Introduction:

In this blog, we will focus on transforming JSON data into XML using Python. Converting JSON to XML is a common task, and Python provides various methods and libraries to help make this process efficient. We will explore two key methods to perform this conversion.

Method 1: Using the xml.etree.ElementTree Library

Python offers a built-in library called xml.etree.ElementTree that simplifies the creation and manipulation of XML documents. Here's a step-by-step guide on how to use this library to convert JSON to XML.

import json
import xml.etree.ElementTree as ET

# Sample JSON data
json_data = {
    "person": {
        "name": "John Doe",
        "age": 30,
        "city": "New York"
    }
}

# Create an XML root element
root = ET.Element("data")

# Function to convert JSON to XML
def json_to_xml(json_data, parent):
    if isinstance(json_data, dict):
        for key, value in json_data.items():
            element = ET.SubElement(parent, key)
            json_to_xml(value, element)
    else:
        parent.text = str(json_data)

# Convert JSON to XML
json_to_xml(json_data, root)

# Create an ElementTree object
tree = ET.ElementTree(root)

# Save the XML to a file or print it
tree.write("output.xml")
  • We start with a sample JSON object, json_data, representing a person's information.
  • We create an XML root element named "data" using ET.Element("data").
  • We define a recursive function, json_to_xml, that traverses the JSON data and creates corresponding XML elements.
  • Finally, we save the XML representation to a file called "output.xml" using tree.write("output.xml").

Output:

<data>
    <person>
        <name>John Doe</name>
        <age>30</age>
        <city>New York</city>
    </person>
</data>

Method 2: Using the json2xml Library

While the first method provides a native way to convert JSON to XML, it can be a bit cumbersome for complex JSON structures. To simplify this process, you can use the json2xml library, which streamlines the conversion. You'll need to install this library first using pip:

pip install json2xml

Here's how you can use the json2xml library to convert JSON to XML:

import json
from json2xml import json2xml

# Sample JSON data
json_data = {
    "person": {
        "name": "John Doe",
        "age": 30,
        "city": "New York"
    }
}

# Convert JSON to XML
xml_data = json2xml.Json2xml(json_data).to_xml()

# Save the XML to a file or print it
with open("output.xml", "w") as xml_file:
    xml_file.write(xml_data)
  • We use the json2xml library to simplify the conversion of JSON data to XML.
  • We start with the same JSON object, json_data, as in the previous example.
  • We convert the JSON data to XML using json2xml.Json2xml(json_data).to_xml().
  • Finally, we save the XML representation to a file called "output.xml."

Output:

<data>
    <person>
        <name>John Doe</name>
        <age>30</age>
        <city>New York</city>
    </person>
</data>

Conclusion:

Converting JSON to XML is a common task in data processing, and Python provides multiple methods and libraries to make this process straightforward. In this blog, we have explored two primary methods for converting JSON to XML, and we also mentioned other options you can consider based on your specific needs.

Comments (0)

There are no comments. Be the first to comment!!!