无法在这个位置找到: head2.htm
当前位置: 建站首页 > 新闻动态 > 行业新闻 >

Python minidom控制模块使用方法实例【DOM载入调解析

时间:2021-04-02 14:27来源:未知 作者:jianzhan 点击:
文中案例叙述了Python minidom控制模块使用方法。共享给大伙儿供大伙儿参照,实际以下:一、DOM写XML文档# -*- coding:utf-8 -*-#!python3#导进minidomfrom xml.dom import minidom# 1.建立DOM树目标dom=minido

文中案例叙述了Python minidom控制模块使用方法。共享给大伙儿供大伙儿参照,实际以下:

一、DOM写XML文档

# -*- coding:utf-8 -*-
#!python3
#导进minidom
from xml.dom import minidom
# 1.建立DOM树目标
dom=minidom.Document()
# 2.建立根连接点。每一次必须用DOM目标来建立一切连接点。
root_node=dom.createElement('root')
# 3.用DOM目标加上根连接点
dom.appendChild(root_node)
# 用DOM目标建立原素子连接点
book_node=dom.createElement('book')
# 用父连接点目标加上原素子连接点
root_node.appendChild(book_node)
# 设定该连接点的特性
book_node.setAttribute('price','199')
name_node=dom.createElement('name')
root_node.appendChild(name_node)
# 也用DOM建立文字连接点,把文字连接点(文本內容)当做子连接点
name_text=dom.createTextNode('测算机编程设计語言 第一版')
# 用加上了文字的连接点目标(当做文字连接点的父连接点)加上文字连接点
name_node.appendChild(name_text)
# 每个节点目标(包含dom目标自身)都是有輸出XML內容的方式,如:toxml()--标识符串, toprettyxml()--清理树型文件格式。
 with open('dom_write.xml','w',encoding='UTF-8') as fh:
 # 4.writexml()第一个主要参数是总体目标文档目标,第二个主要参数是根连接点的缩近文件格式,第三个主要参数是别的子连接点的缩近文件格式,
 # 第四个主要参数制订了换行文件格式,第五个主要参数制订了xml內容的编号。
 dom.writexml(fh,indent='',addindent='\t',newl='\n',encoding='UTF-8')
 print('载入xml OK!')
except Exception as err:
 print('不正确信息内容:{0}'.format(err))

转化成的dom_write.xml文档結果以下:

 ?xml version="1.0" encoding="UTF-8"? 
 root 
 book price="199"/ 
 name 测算机编程设计語言 第一版 /name 
 /root 

二、DOM分析XML文档

# -*- coding:utf-8 -*-
#!python3
from xml.dom import minidom
with open('dom_write.xml','r',encoding='utf8') as fh:
 # parse()获得DOM目标
 dom=minidom.parse(fh)
 # 获得根连接点
 root=dom.documentElement
 # 连接点名字
 print(root.nodeName)
 # 连接点种类:'ELEMENT_NODE',原素连接点; 'TEXT_NODE',文字连接点; 'ATTRIBUTE_NODE',特性连接点
 print(root.nodeType)
 # 获得某一连接点下全部子连接点,是个目录
 print(root.childNodes)
 # 根据dom目标或根原素,再依据标识名获得原素连接点,是个目录
 book=root.getElementsByTagName('book')[0]
 # 获得连接点特性
 print(book.getAttribute('price'))
 # 获得某一原素连接点的文字內容,先获得子文字连接点,随后根据“data”特性获得文字內容
 name=root.getElementsByTagName('name')[0]
 name_text_node=name.childNodes[0]
 print(name_text_node.data)
 # 获得某连接点的父连接点
 print(name.parentNode.nodeName)

运作輸出:

root
1
[ DOM Text node "'\n\t'" , DOM Element: book at 0x1dd2800 , DOM Text node "'\n\t'" , DOM Element: name at 0x1dd2850 , DOM Text node "'\n'" ]
199
测算机编程设计語言 第一版
root

PS:这儿再为大伙儿出示几种有关xml实际操作的线上专用工具供大伙儿参照应用:

线上XML/JSON相互之间变换专用工具:
code/xmljson

线上文件格式化XML/线上缩小XML:
code/xmlformat

XML线上缩小/文件格式化工厂具:
press

XML编码线上文件格式化清理专用工具:
code/xmlcodeformat

大量有关Python有关內容很感兴趣的阅读者能查看本网站专题讲座:《Python实际操作xml数据信息方法小结》、《Python数据信息构造与优化算法实例教程》、《Python Socket程序编写方法小结》、《Python涵数应用方法小结》、《Python标识符串实际操作方法归纳》、《Python新手入门与升阶經典实例教程》及《Python文档与文件目录实际操作方法归纳》

期待文中上述对大伙儿Python编程设计有一定的协助。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
栏目列表
推荐内容


扫描二维码分享到微信