Create XML Documents using Python
Last Updated :
10 May, 2020
Extensible Markup Language(XML), is a markup language that you can use to create your own tags. It was created by the World Wide Web Consortium (W3C) to overcome the limitations of HTML, which is the basis for all Web pages. XML is based on SGML - Standard Generalized Markup Language. It is used for storing and transporting data. XML doesn’t depend on the platform and the programming language. You can write a program in any language on any platform to send, receive, or store data using XML. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.
Data is stored in XML documents. XSL(eXtensible Stylesheet Language) documents describe how to change XML documents into other kinds of documents (such as HTML, TXT or even XML.) The process of transformation is called XSLT, or sometimes XSL transformations.
Example:
html
<?xml version=“1.0” standalone=“yes” ?>
<message>
<from> Robert </from>
<to> Mario </to>
</message>
Note: For more information, refer to
XML | Basics
Creating XML Document using Python
1) Creating XML document using minidom
First, we import
minidom
for using
xml.dom
. Then we create the
root
element and append it to the XML. After that creating a child product of parent namely Geeks for Geeks. After creating a child product the filename is saved as 'any name as per your choice.xml'. Do not forget to append .xml at the end of the filename you have given to the file. Minidom is a minimal implementation of the Document Object Model interface, with an API similar to that in other languages. It is intended to be simpler than the full DOM and also significantly smaller.
Example:
Python3
from xml.dom import minidom
import os
root = minidom.Document()
xml = root.createElement('root')
root.appendChild(xml)
productChild = root.createElement('product')
productChild.setAttribute('name', 'Geeks for Geeks')
xml.appendChild(productChild)
xml_str = root.toprettyxml(indent ="\t")
save_path_file = "gfg.xml"
with open(save_path_file, "w") as f:
f.write(xml_str)
Output:
2) Creating XML document using ElementTree
Firstly we have to import
'xml.etree.ElementTree'
for creating a subtree. After that, we make root element, and that root element should be in an intended block otherwise the error will arise. After creating the root element, we can create a tree structure easily. Then the file will be stored as 'name you want to give to that file.xml'. ElementTree is an important Python library that allows you to parse and navigate an XML document. Using ElementTree, we can break a document in a tree structure that is easy to work with.
Example:
Python3 1==
import xml.etree.ElementTree as gfg
def GenerateXML(fileName) :
root = gfg.Element("Catalog")
m1 = gfg.Element("mobile")
root.append (m1)
b1 = gfg.SubElement(m1, "brand")
b1.text = "Redmi"
b2 = gfg.SubElement(m1, "price")
b2.text = "6999"
m2 = gfg.Element("mobile")
root.append (m2)
c1 = gfg.SubElement(m2, "brand")
c1.text = "Samsung"
c2 = gfg.SubElement(m2, "price")
c2.text = "9999"
m3 = gfg.Element("mobile")
root.append (m3)
d1 = gfg.SubElement(m3, "brand")
d1.text = "RealMe"
d2 = gfg.SubElement(m3, "price")
d2.text = "11999"
tree = gfg.ElementTree(root)
with open (fileName, "wb") as files :
tree.write(files)
# Driver Code
if __name__ == "__main__":
GenerateXML("Catalog.xml")
Output:

There are three helper functions that are useful for creating a hierarchy of Elementnodes.
Element()
function creates a standard node,
SubElement()
function attaches a new node to a parent node, and
Comment()
function creates a node that serializes using XML's comment syntax.
The attribute values can be configured one at a time
withset()
(as with the root node), or all at once by passing a dictionary to the node factory(as with each group and podcast node).
Similar Reads
Creating PDF Documents With Python In this article, we will be learning how to create PDFs in Python. A very famous module named pypdf2 is used to modify and read existing pdfs but its major disadvantage is that it cannot create new pdf files. So Today we are looking to learn about another python module named report lab that helps us
5 min read
Create an empty file using Python File handling is a very important concept for any programmer. It can be used for creating, deleting, and moving files, or to store application data, user configurations, videos, images, etc. Python too supports file handling and allows users to handle files i.e., to read and write files, along with
3 min read
How to Convert a PDF to Document using Python? Converting PDF to Word document manually takes a lot of time, especially if you have many files. Python makes this task easy by automating the process. The pdf2docx module helps convert PDFs into editable Word documents quickly with just a few lines of code. Whether you need full control over the co
4 min read
Create Inverted Index for File using Python An inverted index is an index data structure storing a mapping from content, such as words or numbers, to its locations in a document or a set of documents. In simple words, it is a hashmap like data structure that directs you from a word to a document or a web page. Creating Inverted Index We will
3 min read
Python A-Z Quick Notes Python is a general-purpose, high-level, interpreted programming language that supports multiple programming paradigms, including procedural, object-oriented, and functional programming, and is widely used among the developersâ community. Python was mainly developed for emphasis on code readability,
15+ min read
Convert Excel to PDF Using Python Python is a high-level, general-purpose, and very popular programming language. Python programming language (latest Python 3) is being used in web development, Machine Learning applications, along with all cutting-edge technology in Software Industry.In this article, we will learn how to convert an
1 min read
Create a directory in Python In Python, you can create directories to store and manage your data efficiently. This capability is particularly useful when building applications that require dynamic file handling, such as web scrapers, data processing scripts, or any application that generates output files.Let's discuss different
3 min read
How to Create Requirements.txt File in Python Creating and maintaining a requirements.txt file is a fundamental best practice for Python development. It ensures that your project's dependencies are well-documented and easily reproducible, making it easier for others to work on your code and reducing the likelihood of compatibility issues. Why U
4 min read
Resume Generator App Using Python In this article, we will explain how to create the Resume Generator App using Python. To generate the resume, we will utilize an API and demonstrate how we can easily create a personalized resume by providing essential details. The information includes skills, education, experience, grades, and othe
5 min read
Story Generator App Using Python In the realm of programming and natural language processing, there's an opportunity to create engaging and creative applications that spark the imagination. One such project is the development of a Story Generator App using Python. In this article, we'll embark on a journey to understand how to buil
4 min read