python中minidom添加⼦节点_Python:minidom模块(DOM
写⼊和解析XML)
⼀、DOM写XML⽂件
#导⼊minidom
from xml.dom import minidom
# 1.创建DOM树对象
dom=minidom.Document()
# 2.创建根节点。每次都要⽤DOM对象来创建任何节点。
root_ateElement(‘root‘)
# 3.⽤DOM对象添加根节点
dom.appendChild(root_node)
# ⽤DOM对象创建元素⼦节点
book_ateElement(‘book‘)
# ⽤⽗节点对象添加元素⼦节点
root_node.appendChild(book_node)
# 设置该节点的属性
book_node.setAttribute(‘price‘,‘199‘)
author_ateElement(‘author‘)
root_node.appendChild(author_node)
# 也⽤DOM创建⽂本节点,把⽂本节点看成⼦节点
author_ateTextNode(‘Python3 ⾼级编程[第三版] 2017‘)
# ⽤添加了⽂本的节点对象(看成⽂本节点的⽗节点)添加⽂本节点
author_node.appendChild(author_text)
# 每⼀个结点对象(包括dom对象本⾝)都有输出XML内容的⽅法,如:toxml()--字符串, toprettyxml()--美化树形格式。
try:
with open(‘l‘,‘w‘,encoding=‘UTF-8‘) as fh:
# 4.writexml()第⼀个参数是⽬标⽂件对象,第⼆个参数是根节点的缩进格式,第三个参数是其他⼦节点的缩进格式,
# 第四个参数制定了换⾏格式,第五个参数制定了xml内容的编码。python处理xml文件
dom.writexml(fh,indent=‘‘,addindent=‘\t‘,newl=‘\n‘,encoding=‘UTF-8‘)
print(‘OK‘)
except Exception as err:
print(‘错误信息:{0}‘.format(err))
结果如下:
Python3 ⾼级编程[第三版] 2017
⼆、DOM解析XML⽂件
from xml.dom import minidom
# parse()获取DOM对象
dom=minidom.parse(‘l‘)
# 获取根节点
root=dom.documentElement
# 节点名称
deName)
# 节点类型:‘ELEMENT_NODE‘,元素节点; ‘TEXT_NODE‘,⽂本节点; ‘ATTRIBUTE_NODE‘,属性节点deType)
# 获取某个节点下所有⼦节点,是个列表
print(root.childNodes)
# 根据标签名获取元素节点,是个列表
ElementsByTagName(‘book‘)
# 获取节点属性
print(book[0].getAttribute(‘price‘))
# 获取某个元素节点的⽂本内容,先获取⼦⽂本节点,然后通过“data”属性获取⽂本内容
ElementsByTagName(‘author‘)[0]
author_text_node=author.childNodes[0]
print(author_text_node.data)
# 获取某节点的⽗节点
print(deName)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论