当前位置:网站首页>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)
边栏推荐
猜你喜欢
随机推荐
扩展你的KUBECTL功能
redis发布订阅的使用
Explication détaillée du mécanisme de distribution des événements d'entrée multimodes
杰理之AD 系列 MIDI 功能说明【篇】
迈动互联中标北京人寿保险
IIC (STM32)
redis事务
2021 CCPC Harbin I. power and zero (binary + thinking)
[buuctf.reverse] 151_[FlareOn6]DnsChess
华为模拟器ensp的路由配置以及连通测试
华为ensp模拟器 给路由器配置DHCP
redis布隆过滤器
D3.js+Three.js数据可视化3d地球js特效
The concept and application of hash table
In the release version, the random white screen does not display the content after opening the shutter
改善机器视觉系统的方法
Huawei ENSP simulator configures ACL access control list
每日一题-LeetCode1200-最小绝对差-数组-排序
redis缓存
NetWare r7000 Merlin system virtual memory creation failed, prompting that the USB disk reading and writing speed does not meet the requirements. Solution, is it necessary to create virtual memory??