Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah xmltodict beroperasi pada xml dalam Python?

Bagaimanakah xmltodict beroperasi pada xml dalam Python?

WBOY
WBOYke hadapan
2023-05-04 18:04:141207semak imbas

Python xmltodict beroperasi pada xml

xmltodict ialah satu lagi perpustakaan ringkas yang didedikasikan untuk menukar XML kepada JSON.

Berikut ialah contoh fail XML yang mudah:

<?xml version="1.0"?>
<mydocument has="an attribute">
    <and>
        <many>elements</many>
        <many>more elements</many>
    </and>
    <plus a="complex">
        element as well
    </plus>
</mydocument>

Ini ialah pakej pihak ketiga. Gunakan pip untuk memasangnya sebelum memproses

pip install xmltodict

Anda boleh mengakses elemen, atribut dan nilai di dalam seperti berikut:

import xmltodict
 
with open("test.xml") as fd:          # 将XML文件装载到dict里面
    doc = xmltodict.parse(fd.read())
    print(doc["mydocument"]["@has"])  # an attribute
    print(doc["mydocument"]["and"])   # OrderedDict([(u&#39;many&#39;, [u&#39;elements&#39;, u&#39;more elements&#39;])])
    print(doc["mydocument"]["and"]["many"])   # [u&#39;elements&#39;, u&#39;more elements&#39;]
    print(doc["mydocument"]["plus"]["@a"])    # complex
    print(doc["mydocument"]["plus"]["#text"]) # element as well
xmltodict 也有unparse函数让您可以转回XML。

Fungsi ini mempunyai mod Penstriman sesuai untuk memproses fail yang tidak boleh diletakkan dalam memori. Ia juga menyokong ruang nama

Python XML parsing, modul xmltodict

untuk memasang xmltodict: pip3 install xmltodict

demo (rentetan xml dihuraikan menjadi seperti kamus):

# coding:utf-8
import xmltodict   # 导入
 
# XML格式字符串
xml_str = """
        <xml>
            <Name>张三</Name>
            <age>18</age>
        </xml>
        """
 
 
xml_dict = xmltodict.parse(xml_str)   # 解析xml字符串
 
print(type(xml_dict))  # <class &#39;collections.OrderedDict&#39;>  类字典型,可以按照字典方法操作
 
print xml_dict
 
# 遍历
for key, val in xml_dict[&#39;xml&#39;].items():
    print key, "---", val

demo.py (kamus ditukar kepada rentetan xml):

# coding:utf-8
import xmltodict   # 导入
 
# 字典
xml_dict = {
                "xml": {
                    "name" : u"张三",
                    "age" : 18
                }
            }
 
# 字典转换成XML字符串
# xml_str = xmltodict.unparse(xml_dict)
xml_str = xmltodict.unparse(xml_dict, pretty=True)  # pretty表示友好输出(有换行)
 
print(xml_str)

Atas ialah kandungan terperinci Bagaimanakah xmltodict beroperasi pada xml dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam