[PYTHON] Comment utiliser xml.etree.ElementTree

Python 3.8.2

xml.etree.ElementTree --- ElementTree XML API

Perth

À partir du fichier

import xml.etree.ElementTree as ET
tree = ET.parse('country_data.xml')
root = tree.getroot()

À partir d'une chaîne

root = ET.fromstring(country_data_as_string)

Chercher

Recherche uniquement * éléments enfants directs * de l'élément courant par balise

#La liste est retournée
list = root.findall('country'):

Rechercher uniquement le premier élément trouvé par tag

elem = root.find('country'):

Recherche par expression XPath

root.findall("./country/neighbor")

Accès au contenu et aux attributs

Accéder au contenu

rank = country.find('rank').text

Attributs d'accès

 #Soit
 country.get('name')
 country.attrib['name']

Génération d'éléments enfants

elem = ET.SubElement(root,'country')
elem = ET.SubElement(root,'country', attrib={'name':'Liechtenstein'})

Supprimer l'élément enfant

>>> for country in root.findall('country'):
...     # using root.findall() to avoid removal during traversal
...     rank = int(country.find('rank').text)
...     if rank > 50:
...         root.remove(country)
...

production

Sortie vers sys.stdout

ET.dump(root)

Sortie dans un fichier

tree = ET.ElementTree(root)
tree.write('filename', encoding="utf-8", xml_declaration=True)

Sortie dans un fichier avec sauts de ligne

import xml.dom.minidom as md
document = md.parseString(ET.tostring(root, 'utf-8'))
with open(fname,'w') as f:
    document.writexml(f, encoding='utf-8', newl='\n', indent='', addindent='  ')

Recommended Posts

Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser Seaboan
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment utiliser la liste []
Comment utiliser python-kabusapi
Comment utiliser OptParse
Comment utiliser le retour
Comment utiliser pyenv-virtualenv
Comment utiliser imutils
Comment utiliser Qt Designer
Comment utiliser la recherche triée
[gensim] Comment utiliser Doc2Vec
python3: Comment utiliser la bouteille (2)
Comprendre comment utiliser django-filter
Comment utiliser le générateur
[Python] Comment utiliser la liste 1
Comment utiliser FastAPI ③ OpenAPI
Comment utiliser Python Argparse
Comment utiliser IPython Notebook
Comment utiliser Pandas Rolling
[Note] Comment utiliser virtualenv
Comment utiliser les dictionnaires redis-py
Python: comment utiliser pydub
[Python] Comment utiliser checkio
[Aller] Comment utiliser "... (3 périodes)"
Comment faire fonctionner GeoIp2 de Django
[Python] Comment utiliser input ()
Comment utiliser le décorateur
[Introduction] Comment utiliser open3d
Comment utiliser Python lambda
Comment utiliser Jupyter Notebook
[Python] Comment utiliser virtualenv
python3: Comment utiliser la bouteille (3)
python3: Comment utiliser la bouteille
Comment utiliser Google Colaboratory
Comment utiliser les octets Python