PythonでXMLファイルを読み込む方法を教えてください。

PythonでXMLファイルを読み込む方法はいくつかあります。

  1. ElementTreeライブラリによってxmlを読み込み、操作できます。Pythonにはxmlを操作するためのElementTreeライブラリがもともと組み込まれています。以下に例を示します。
import xml.etree.ElementTree as ET

tree = ET.parse('file.xml')
root = tree.getroot()

# 遍历所有的子节点
for child in root:
    print(child.tag, child.attrib)

# 获取特定子节点的值
value = root.find('child_node').text

# 修改特定子节点的值
root.find('child_node').text = 'new_value'

# 保存修改后的XML文件
tree.write('new_file.xml')
  1. lxmlライブラリ: lxmlライブラリは、速度が早く、XMLファイルをパースして処理する強力なライブラリです。サンプルコードを以下に示します。
from lxml import etree

tree = etree.parse('file.xml')
root = tree.getroot()

# 遍历所有的子节点
for child in root:
    print(child.tag, child.attrib)

# 获取特定子节点的值
value = root.find('child_node').text

# 修改特定子节点的值
root.find('child_node').text = 'new_value'

# 保存修改后的XML文件
tree.write('new_file.xml', pretty_print=True, encoding='utf-8')
  1. XML.dom.minidomライブラリを使う: XML.dom.minidomライブラリは、XMLファイルを解析するためにPythonに元々内蔵されているXML DOMパーサで、これを使用してXMLファイルの読み取りや操作をすることができます。サンプルコードを以下に示します。
from xml.dom import minidom

dom = minidom.parse('file.xml')
root = dom.documentElement

# 遍历所有的子节点
for child in root.childNodes:
    if child.nodeType == child.ELEMENT_NODE:
        print(child.tagName, child.attributes.items())

# 获取特定子节点的值
value = root.getElementsByTagName('child_node')[0].firstChild.nodeValue

# 修改特定子节点的值
node = root.getElementsByTagName('child_node')[0]
node.firstChild.replaceWholeText('new_value')

# 保存修改后的XML文件
with open('new_file.xml', 'w') as f:
    dom.writexml(f, addindent='  ', newl='\n', encoding='utf-8')

いずれの方法もXMLファイルを読み込み、データを抽出し、変更できます。使用する方法は個人ごとに要件や習慣に応じて異なります。

bannerAds