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函數(shù)讓您可以轉(zhuǎn)回XML。該函數(shù)有一個streaming模式適合用來 處理不能放入內(nèi)存的文件,它還支持命名空間
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(字典轉(zhuǎn)成xml字符串):
# coding:utf-8
import xmltodict ? # 導入
?
# 字典
xml_dict = {
? ? ? ? ? ? ? ? "xml": {
? ? ? ? ? ? ? ? ? ? "name" : u"張三",
? ? ? ? ? ? ? ? ? ? "age" : 18
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
?
# 字典轉(zhuǎn)換成XML字符串
# xml_str = xmltodict.unparse(xml_dict)
xml_str = xmltodict.unparse(xml_dict, pretty=True) ?# pretty表示友好輸出(有換行)
?
print(xml_str)總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python3實現(xiàn)統(tǒng)計單詞表中每個字母出現(xiàn)頻率的方法示例
這篇文章主要介紹了Python3實現(xiàn)統(tǒng)計單詞表中每個字母出現(xiàn)頻率的方法,涉及Python針對文件的讀取、遍歷、統(tǒng)計等相關操作技巧,需要的朋友可以參考下2019-01-01
pip已經(jīng)安裝好第三方庫但pycharm中import時還是標紅的解決方案
這篇文章主要介紹了python中pip已經(jīng)安裝好第三方庫但pycharm中import時還是標紅的問題,本文給大家分享解決方法,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
jupyter lab的目錄調(diào)整及設置默認瀏覽器為chrome的方法
這篇文章主要介紹了jupyter lab的目錄調(diào)整及設置默認瀏覽器為chrome的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

