欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中xmltodict對(duì)xml的操作方式

 更新時(shí)間:2023年03月14日 09:29:33   作者:程序猿-張益達(dá)  
這篇文章主要介紹了Python中xmltodict對(duì)xml的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python xmltodict對(duì)xml的操作

xmltodict是另一個(gè)簡(jiǎn)易的庫(kù),它致力于將XML變得像JSON.

下面是一個(gè)簡(jiǎn)單的示例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來(lái)安裝

pip install xmltodict

可以像下面這樣訪問(wèn)里面的元素,屬性及值:

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ù)有一個(gè)streaming模式適合用來(lái) 處理不能放入內(nèi)存的文件,它還支持命名空間

Python XML解析,xmltodict模塊

安裝xmltodict: pip3 install xmltodict

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

# coding:utf-8
import xmltodict ? # 導(dǎo)入
?
# 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 ? # 導(dǎo)入
?
# 字典
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é)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論