在此示例中,我们将向您展示如何通过Python xml.dom.minidom
读取XML文件并打印出其值。
1. XML文件
一个简单的XML文件,稍后使用Python minidom
对其进行解析。
staff.xml
xml version="1.0"?><company><name>Mkyong Enterprisename><staff id="1001"><nickname>mkyongnickname><salary>100,000salary>staff><staff id="1002"><nickname>yflownickname><salary>200,000salary>staff><staff id="1003"><nickname>alexnickname><salary>20,000salary>staff>company>
2. DOM示例1
一个简单的Python minidom
示例。
dom-example.py
from xml.dom import minidom
doc = minidom.parse("staff.xml")# doc.getElementsByTagName returns NodeList
name = doc.getElementsByTagName("name")[0]
print(name.firstChild.data)
staffs = doc.getElementsByTagName("staff")for staff in staffs:
sid = staff.getAttribute("id")
nickname = staff.getElementsByTagName("nickname")[0]
salary = staff.getElementsByTagName("salary")[0]
print("id:%s, nickname:%s, salary:%s" %
(sid, nickname.firstChild.data, salary.firstChild.data))
输出量
Mkyong Enterpriseid:1001, nickname:mkyong, salary:100,000id:1002, nickname:yflow, salary:200,000id:1003, nickname:alex, salary:20,000
3. DOM示例2
另一个minidom
实例。
dom-example2.py
from xml.dom import minidom
doc = minidom.parse("staff.xml")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("Node Name : %s" % name.nodeName)
print("Node Value : %s \n" % getNodeText(name))
staffs = doc.getElementsByTagName("staff")for staff in staffs:
sid = staff.getAttribute("id")
nickname = staff.getElementsByTagName("nickname")[0]
salary = staff.getElementsByTagName("salary")[0]
print("id:%s, nickname:%s, salary:%s" %
(sid, getNodeText(nickname), getNodeText(salary)))
输出量
Node Name : nameNode Value : Mkyong Enterprise id:1001, nickname:mkyong, salary:100,000id:1002, nickname:yflow, salary:200,000id:1003, nickname:alex, salary:20,000
参考文献:
Python:xml.dom.minidom
Python:DOM中的对象
翻译自: https://mkyong.com/python/python-read-xml-file-dom-example/
推荐阅读--
我司空降了一名专家后,一半程序员疯了...
程序员长假相亲图鉴(文末惊喜)
每日一课 | Python –如何在函数中使用全局变量
每日一课 | Python将文件读入列表
每日一课 | 如何将String转换为int
球分享
球点赞
球在看