Parse XML using Minidom in Python

DOM (document object model) is a cross-language API from W3C i.e. World Wide Web Consortium for accessing and modifying XML documents. Python enables you to parse XML files with the help of xml.dom.minidom, which is the minimal implementation of the DOM interface. It is simpler than the full DOM API and should be considered as smaller.

Steps for Parsing XML are – 

  • Import the module
import xml.dom.minidom

Let say, your XML  files will have the following things, 

  • Use the parse function to load and parse the XML file. In the below case docs stores the result of the parse function
docs = xml.dom.minidom.parse("test.xml")
  • Let’s print the child tagname and nodename of the XML file. 

Python3



filter_none

edit
close

play_arrow

link
brightness_4
code

import xml.dom.minidom
  
docs = xml.dom.minidom.parse("test.xml")
  
print(docs.nodeName)
print(docs.firstChild.tagName)

chevron_right


Output:

#document
info
  • Now to get the information from the tag-name, you need to call dom standard function getElementsByTagName and getAttribute for fetching the required attributes. 

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

import xml.dom.minidom
  
  
docs = xml.dom.minidom.parse("test.xml")
  
print(docs.nodeName)
print(docs.firstChild.tagName)
  
skills = docs.getElementsByTagName("skills")
  
print("%d skills" % skills.length)
for i in skills:
    print(i.getAttribute("name"))

chevron_right


Output:

#document
info
4 skills
Machine learning
Deep learning
Python
Bootstrap

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.