#!python
#文件名: demo_xml_dom.py

#DOM解析
from xml.dom.minidom import parse
import xml.dom.minidom

#使用minidom解析器打开xml文档
'''
    1.对于dom,他将xml文档一次性解析(所以大文件初始化慢)
    2.每对标签都是一个Element实例

'''

dom=xml.dom.minidom.parse('demo.xml')

root=dom.documentElement#dom代表整个文档,dom.documentElement代表其根节点(即所有节点的集合)

if root.hasAttribute('shelf'):#判断是否有这个属性
    print('The RootElement has a attribute:shelf:',root.getAttribute('shelf'))

#在根标签中获取所有的电影

movies=root.getElementsByTagName('movie')#得到根节点下所有tag为movie的Element集合

for movie in movies:#遍历
    print('-------Movie------')
    if movie.hasAttribute('title'):#判断
        print('Title: ',movie.getAttribute('title'))#获取属性

    type=movie.getElementsByTagName('type')[0]#获取movie标签下第一个tag为type的Element
    print('Type: ',type.childNodes[0].data)

    format=movie.getElementsByTagName('format')[0]#同上
    print('Format: ', format.childNodes[0].data)


xml文件在上一篇文中有

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐