Professional Documents
Culture Documents
Parsing XML With DOM APIs in Python - GeeksforGeeks
Parsing XML With DOM APIs in Python - GeeksforGeeks
Related Articles
The Document Object Model (DOM) is a programming inter face for HTML and
Parsing XML with DOM APIs in python is pretty simple. For the purpose of example
<?xml version="1.0"?>
<company>
<name>GeeksForGeeks Company</name>
<staff id="1">
<name>Amar Pandey</name>
<salary>8.5 LPA</salary>
</staff>
<staff id="2">
<name>Akbhar Khan</name>
<salary>6.5 LPA</salary>
</staff>
<staff id="3">
<name>Anthony Walter</name>
<salary>3.2 LPA</salary>
</staff>
</company>
Now, let ’s parse the above XML using python. The below code demonstrates the
process,
doc = minidom.parse("sample.xml")
# doc.getElementsByTagName
We returns
use cookies to ensure you have the best browsing the NodeList
experience on our website. By using our site, you acknowledge
name = doc.getElementsByTagName("name")[0]
that you have read and understood our Cookie Policy & Privacy Policy
print(name.firstChild.data)
Got It !
https://www.geeksforgeeks.org/parsing-xml-with-dom-apis-in-python/?ref=rp 1/5
2/6/2021 Parsing XML with DOM APIs in Python - GeeksforGeeks
staffs = doc.getElementsByTagName("staff")
for staff in staffs:
staff_id = staff.getAttribute("id")
name = staff.getElementsByTagName("name")[0]
salary = staff.getElementsByTagName("salary")[0]
print("id:% s, name:% s, salary:% s" %
(staff_id, name.firstChild.data, salary.firstChild.data))
Output :
GeeksForGeeks Company
id:1, name: Amar Pandey, salary:8.5 LPA
id:2, name: Akbar Khan, salary:6.5 LPA
id:3, name: Anthony Walter, salary:3.2 LPA
The same can also be done using a user-defined function as shown in the code
below:
doc = minidom.parse("sample.xml")
# user-defined function
def getNodeText(node):
nodelist = node.childNodes
result = []
for node in nodelist:
if node.nodeType == node.TEXT_NODE:
result.append(node.data)
return ''.join(result)
name = doc.getElementsByTagName("name")[0]
print("Company Name : % s \n" % getNodeText(name))
staffs = doc.getElementsByTagName("staff")
for staff in staffs:
staff_id = staff.getAttribute("id")
name = staff.getElementsByTagName("name")[0]
salary = staff.getElementsByTagName("salary")[0]
print("id:% s, name:% s, salary:% s" %
(staff_id, getNodeText(name), getNodeText(salary)))
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge
that you have read and understood our Cookie Policy & Privacy Policy
Output :
Got It !
https://www.geeksforgeeks.org/parsing-xml-with-dom-apis-in-python/?ref=rp 2/5
2/6/2021 Parsing XML with DOM APIs in Python - GeeksforGeeks
To begin with, your inter view preparations Enhance your Data Structures concepts
Like 0
Previous Next
02
BeautifulSoup
25, Nov 20
Parsing PDFs in Python with Tika
06 14, Aug 20
https://www.geeksforgeeks.org/parsing-xml-with-dom-apis-in-python/?ref=rp 3/5
2/6/2021 Parsing XML with DOM APIs in Python - GeeksforGeeks
g
Ar ticle Contributed By :
RajuKumar19
@RajuKumar19
Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.
Load Comments
https://www.geeksforgeeks.org/parsing-xml-with-dom-apis-in-python/?ref=rp 4/5
2/6/2021 Parsing XML with DOM APIs in Python - GeeksforGeeks
Company Learn
About Us Algorithms
Careers Data Structures
Privacy Policy Languages
Contact Us CS Subjects
Practice Contribute
Courses Write an Article
Company-wise Write Interview Experience
Topic-wise Internships
How to begin? Videos
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge
that you have read and understood our Cookie Policy & Privacy Policy
Got It !
https://www.geeksforgeeks.org/parsing-xml-with-dom-apis-in-python/?ref=rp 5/5