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

Bagaimanakah xmltodict beroperasi pada xml dalam Python?

WBOY
Lepaskan: 2023-05-04 18:04:14
ke hadapan
1228 orang telah melayarinya

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>
Salin selepas log masuk

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

pip install xmltodict
Salin selepas log masuk

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。
Salin selepas log masuk

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
Salin selepas log masuk

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)
Salin selepas log masuk

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

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan