当前位置:网站首页>Minidom module writes and parses XML
Minidom module writes and parses XML
2022-07-04 21:22:00 【Harrytsz】
One 、 Write XML file
from xml.dom import minidom
# 1. establish DOM Tree object
dom=minidom.Document()
# 2. Create a root node . Use... Every time DOM Object to create any node .
root_node=dom.createElement('root')
# 3. use DOM Object to add the root node
dom.appendChild(root_node)
# use DOM Object to create element child nodes
book_node=dom.createElement('book')
# Add element child nodes with parent node objects
root_node.appendChild(book_node)
# Set the properties of this node
book_node.setAttribute('price','199')
name_node=dom.createElement('name')
root_node.appendChild(name_node)
# Also used DOM Create text node , Put the text node ( Written content ) As a child node
name_text=dom.createTextNode(' Computer programming language The first 1 edition ')
# Use the node object with text added ( As the parent node of the text node ) Add text node
name_node.appendChild(name_text)
# Every node object ( Include dom Object itself ) They all have output XML Method of content , Such as :toxml()-- character string , toprettyxml()-- Beautify the tree format .
try:
with open('dom_write.xml','w',encoding='UTF-8') as fh:
# 4.writexml() The first parameter is the target file object , The second parameter is the indentation format of the root node , The third parameter is the indent format of other child nodes ,
# The fourth parameter sets the line feed format , The fifth parameter establishes xml Coding of content .
dom.writexml(fh,indent='',addindent='\t',newl='\n',encoding='UTF-8')
print(' write in xml OK!')
except Exception as err:
print(' error message :{0}'.format(err))
give the result as follows :
<?xml version="1.0" encoding="utf8"?>
<root>
<book price="99">
<name> Computer programming language The first 1 edition </name>
</book>
</root>
Two 、 analysis XML file
from xml.dom import minidom
with open('dom_write.xml','r',encoding='utf8') as fh:
# parse() obtain DOM object
dom = minidom.parse(fh)
# Get root node
root = dom.documentElement
# The name of the node
print(root.nodeName)
# Node type :'ELEMENT_NODE', Element nodes ; 'TEXT_NODE', Text node ; 'ATTRIBUTE_NODE', Attribute node
print(root.nodeType)
# Get all the children under a node , It's a list
print(root.childNodes)
# adopt dom Object or root element , Then get the element node according to the tag name , It's a list
book = root.getElementsByTagName('book')[0]
# Get node properties
print(book.getAttribute('price'))
# Get the text content of an element node , Get the sub text node first , And then through “data” Property to get the text content
name = root.getElementsByTagName('name')[0]
name_text_node = name.childNodes[0]
print(name_text_node.data)
# Get the parent node of a node
print(name.parentNode.nodeName)
边栏推荐
- 杰理之AD 系列 MIDI 功能说明【篇】
- 【1200. 最小絕對差】
- Remember to build wheels repeatedly at one time (the setting instructions of obsidian plug-in are translated into Chinese)
- colResizable.js自动调整表格宽度插件
- Billions of citizens' information has been leaked! Is there any "rescue" for data security on the public cloud?
- [1200. Minimum absolute difference]
- 华为模拟器ensp的路由配置以及连通测试
- B站视频 声音很小——解决办法
- 杰理之增加进关机前把触摸模块关闭流程【篇】
- CAD中能显示打印不显示
猜你喜欢
Some suggestions for interface design
Jerry's ad series MIDI function description [chapter]
shp数据制作3DTiles白膜
Configuration of DNS server of Huawei ENSP simulator
每日一题-LeetCode1200-最小绝对差-数组-排序
Methods of improving machine vision system
WGCNA analysis basic tutorial summary
多模输入事件分发机制详解
[observation] Lenovo: 3x (1+n) smart office solution, releasing the "multiplier effect" of office productivity
torch.tensor和torch.Tensor的区别
随机推荐
torch. Tensor and torch The difference between tensor
杰理之AD 系列 MIDI 功能说明【篇】
admas零件名重复
华为ensp模拟器 给路由器配置DHCP
Can be displayed in CAD but not displayed in print
Some suggestions for interface design
minidom 模塊寫入和解析 XML
async await 在map中使用
At the right time, the Guangzhou station of the city chain science and Technology Strategy Summit was successfully held
【optimtool.unconstrain】无约束优化工具箱
Introduction to pressure measurement of JMeter
【1200. 最小绝对差】
Le module minidom écrit et analyse XML
华为ensp模拟器 实现多个路由器的设备可以相互访问
Word文档中标题前面的黑点如何去掉
A quick start to fastdfs takes you three minutes to upload and download files to the ECS
IIC (STM32)
Jerry's ad series MIDI function description [chapter]
刘锦程荣获2022年度中国电商行业创新人物奖
nmap扫描