Pythonでet.dumpエクスポートファイルをXML形式で書き出す方法


方法1: ファイルオブジェクトを使用してXMLファイルに書き出す方法

import xml.etree.ElementTree as ET
def export_to_xml(filename, element):
    tree = ET.ElementTree(element)
    with open(filename, 'wb') as file:
        tree.write(file, encoding='utf-8', xml_declaration=True)
# 使用例:
root = ET.Element('root')
child = ET.SubElement(root, 'child')
child.text = 'Hello, XML!'
export_to_xml('output.xml', root)

方法2: 文字列としてXMLデータを取得する方法

import xml.etree.ElementTree as ET
def get_xml_string(element):
    return ET.tostring(element, encoding='utf-8').decode('utf-8')
# 使用例:
root = ET.Element('root')
child = ET.SubElement(root, 'child')
child.text = 'Hello, XML!'
xml_string = get_xml_string(root)
# xml_stringをファイルに書き出すか、他の方法で使用することができます。

方法3: XMLの整形された文字列を取得する方法

import xml.dom.minidom as minidom
import xml.etree.ElementTree as ET
def get_formatted_xml_string(element):
    rough_string = ET.tostring(element, encoding='utf-8').decode('utf-8')
    reparsed = minidom.parseString(rough_string)
    return reparsed.toprettyxml(indent='\t')
# 使用例:
root = ET.Element('root')
child = ET.SubElement(root, 'child')
child.text = 'Hello, XML!'
formatted_xml_string = get_formatted_xml_string(root)
# formatted_xml_stringをファイルに書き出すか、他の方法で使用することができます。

これらの方法を使用すると、et.dumpエクスポートファイルをXML形式で書き出すことができます。必要に応じて、ファイル名や出力内容をカスタマイズしてください。