当前位置:网站首页>Le module minidom écrit et analyse XML
Le module minidom écrit et analyse XML
2022-07-04 21:21:00 【Harry tsz】
Un.、Écris. XML Documentation
from xml.dom import minidom
# 1.CréationDOMObjet arborescent
dom=minidom.Document()
# 2.Créer un noeud racine.À chaque foisDOMObjet pour créer n'importe quel noeud.
root_node=dom.createElement('root')
# 3.AvecDOMObjet ajouter un noeud racine
dom.appendChild(root_node)
# AvecDOMObjet créer un noeud enfant d'élément
book_node=dom.createElement('book')
# Ajouter un noeud enfant primitif avec un objet parent
root_node.appendChild(book_node)
# Définir les propriétés de ce noeud
book_node.setAttribute('price','199')
name_node=dom.createElement('name')
root_node.appendChild(name_node)
# Ça marche aussi.DOMCréer un noeud de texte,Noeud de texte(Contenu du texte)Comme un noeud enfant
name_text=dom.createTextNode('Langage de programmation informatique No1Édition')
# Avec un objet de noeud avec du texte ajouté(Comme parent d'un noeud de texte)Ajouter un noeud de texte
name_node.appendChild(name_text)
# Chaque objet nodal (Y compris:domObjet lui - même) Ont produit XMLMéthodes de contenu,Par exemple::toxml()--String, toprettyxml()-- Embellir le format arborescent .
try:
with open('dom_write.xml','w',encoding='UTF-8') as fh:
# 4.writexml() Le premier paramètre est l'objet de fichier cible , Le deuxième paramètre est le format d'indentation du noeud racine , Le troisième paramètre est le format d'indentation des autres noeuds enfants ,
# Le quatrième paramètre établit un nouveau format de ligne , Le cinquième paramètre établit xmlCodage du contenu.
dom.writexml(fh,indent='',addindent='\t',newl='\n',encoding='UTF-8')
print('Écrirexml OK!')
except Exception as err:
print('Message d'erreur:{0}'.format(err))
Les résultats sont les suivants::
<?xml version="1.0" encoding="utf8"?>
<root>
<book price="99">
<name>Langage de programmation informatique No1Édition</name>
</book>
</root>
2.、Analyse XML Documentation
from xml.dom import minidom
with open('dom_write.xml','r',encoding='utf8') as fh:
# parse()AccèsDOMObjet
dom = minidom.parse(fh)
# Obtenir le noeud racine
root = dom.documentElement
# Nom du noeud
print(root.nodeName)
# Type de noeud:'ELEMENT_NODE',Noeud d'élément; 'TEXT_NODE',Noeud de texte; 'ATTRIBUTE_NODE',Noeud d'attribut
print(root.nodeType)
# Obtenir tous les noeuds enfants sous un noeud ,C'est une liste.
print(root.childNodes)
# Adoptiondom Objet ou élément racine , Puis obtenir le noeud d'élément à partir du nom de l'étiquette ,C'est une liste.
book = root.getElementsByTagName('book')[0]
# Obtenir les propriétés du noeud
print(book.getAttribute('price'))
# Obtenir le contenu textuel d'un noeud d'élément , Obtenez d'abord le noeud de texte Enfant ,Et à travers“data” Propriété obtenir le contenu du texte
name = root.getElementsByTagName('name')[0]
name_text_node = name.childNodes[0]
print(name_text_node.data)
# Obtenir le parent d'un noeud
print(name.parentNode.nodeName)
边栏推荐
猜你喜欢
Huawei ENSP simulator enables devices of multiple routers to access each other
UTF encoding and character set in golang
FastDfs的快速入门,三分钟带你上传下载文件到云服务器
多模輸入事件分發機制詳解
Some suggestions for interface design
每日一题-LeetCode556-下一个更大元素III-字符串-双指针-next_permutation
Huawei ENSP simulator realizes communication security (switch)
RFID仓库管理系统解决方案有哪些功能模块
Hwinfo hardware detection tool v7.26 green version
华为ensp模拟器 三层交换机
随机推荐
Go language notes (2) some simple applications of go
HMS Core 机器学习服务
VIM asynchronous problem
UTF encoding and character set in golang
网络命名空间
Jerry's ad series MIDI function description [chapter]
嵌入式TC 测试用例
数十亿公民信息遭泄漏!公有云上的数据安全还有“救”吗?
vim异步问题
Huawei ENSP simulator layer 3 switch
偷窃他人漏洞报告变卖成副业,漏洞赏金平台出“内鬼”
A quick start to fastdfs takes you three minutes to upload and download files to the ECS
Go notes (1) go language introduction and characteristics
杰理之AD 系列 MIDI 功能说明【篇】
[micro service SCG] use of predict
【微信小程序】协同工作与发布
【1200. 最小绝对差】
每日一题-LeetCode1200-最小绝对差-数组-排序
[solution] paddlepaddle 2 X call static graph mode
软件开发过中的采购