XML stands for Extensible Markup Language. It was designed to store and transport data. It was designed to be both human- and machine-readable. That’s why, the design goals of XML emphasize simplicity, generality, and usability across the Internet.
Note: For more information, refer to XML | Basics
Here we consider that the XML file is present in the memory. Please read the comments in the code for a clear understanding.
Let us save the above XML file as “test.xml”. Before going further you should know that in XML we do not have predefined tags as we have in HTML. While writing XML the author has to define his/her own tags as well as the document structure. Now we need to parse this file and modify it using Python. We will be using “minidom” library of Python 3 to do the above task. This module does not come built-in with Python. To install this type the below command in the terminal.
pip install minidom
First we will be reading the contents of the XML file and then we will learn how to modify the XML file.
#document note Name: Jack Surname: Shelby Favourite Game: Football Messi Ronaldo Mbappe
In the above Python code while printing First Name or Last Name we have used firstname / lastname. This is because there is only 1 “fname” and only 1 “lname” tag. For multiple same tags we can proceed like below.
Jack John Harry
Now we have got a basic idea on how we can parse and read the contents of a XML file using Python. Now let us learn to modify an XML file.
Let us add the following :
- Languages known by Jack
Let us delete the “hobby” tag. Also let us modify the age to 29.
Python Code:(Modifying XML)
The last 3 lines of the Python code just converts the “file” object into XML using the toxml() method and writes it to the “test.xml” file. If you do not want to edit the original file and just want to print the modified XML then replace those 3 lines by:
- Reading and Writing XML Files in Python
- Python | Parse a website with regex and urllib
- Python | Execute and parse Linux commands
- XML parsing in Python
- Create XML Documents using Python
- Serialize Python dictionary to XML
- Python | How to Parse Command-Line Options
- Creating and updating PowerPoint Presentations in Python using python - pptx
- Python | Add Logging to a Python Script
- Python | Add Logging to Python Libraries
- twitter-text-python (ttp) module - Python
- Reading and Generating QR codes in Python using QRtools
- Scraping And Finding Ordered Words In A Dictionary using Python
- Listing out directories and files in Python
- Python | Program to crawl a web page and get most frequent words
- Python | Find Live running status and PNR of any train using Railway API
- Python PIL | ImageChops.subtract() and ImageChops.subtract_modulo() method
- URL Shorteners and its API in Python | Set-1
- URL Shorteners and its API in Python | Set-2
- Python | Timing and Profiling the program
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.