溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中xmltodict對xml的操作方式是什么

發布時間:2023-03-14 11:07:25 來源:億速云 閱讀:135 作者:iii 欄目:開發技術

今天小編給大家分享一下Python中xmltodict對xml的操作方式是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

Python xmltodict對xml的操作

xmltodict是另一個簡易的庫,它致力于將XML變得像JSON.

下面是一個簡單的示例XML文件:

<?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>

這是第三方包,在處理前先用pip來安裝

pip install xmltodict

可以像下面這樣訪問里面的元素,屬性及值:

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'many', [u'elements', u'more elements'])])
    print(doc["mydocument"]["and"]["many"])   # [u'elements', u'more elements']
    print(doc["mydocument"]["plus"]["@a"])    # complex
    print(doc["mydocument"]["plus"]["#text"]) # element as well
xmltodict 也有unparse函數讓您可以轉回XML。

該函數有一個streaming模式適合用來 處理不能放入內存的文件,它還支持命名空間

Python XML解析,xmltodict模塊

安裝xmltodict: pip3 install xmltodict

demo.py(xml字符串解析成類字典):

# 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 'collections.OrderedDict'>  類字典型,可以按照字典方法操作
 
print xml_dict
 
# 遍歷
for key, val in xml_dict['xml'].items():
    print key, "---", val

demo.py(字典轉成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)

以上就是“Python中xmltodict對xml的操作方式是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女