Python數(shù)據(jù)存儲之XML文檔和字典的互轉
更新時間:2022年06月13日 10:09:31 作者:? 孤寒者? ?
這篇文章主要介紹了Python數(shù)據(jù)存儲之XML文檔和字典的互轉,通過如何將一個字典轉換為XML文檔,并將該XML文檔保存為文本文件的提問展開主題相關介紹,需要的朋友可以參考一下下面文章內(nèi)容
考點:
- 將字典轉換為XML文檔;
- 將XML文檔轉換為字典。
面試題
- 1.面試題一:如何將一個字典轉換為XML文檔,并將該XML文檔保存為文本文件。
- 2.面試題二:如何讀取XML文件的內(nèi)容,并將其轉換為字典。
解析
如何將一個字典轉換為XML文檔,并將該XML文檔保存為文本文件:
這里需要用到第三方庫:dicttoxml。需要安裝一下
# coding=utf-8
import dicttoxml
from xml.dom.minidom import parseString
d = [20, 'name', {'name':'xiaohong', 'age':30, 'salary':500},
{'name':'honghong', 'age':34, 'salary':2050},
{'name':'lihua', 'age':10, 'salary':1200},
]
bxml = dicttoxml.dicttoxml(d, custom_root='persons') # 注意:此時返回值是二進制類型,所以需要解碼哦~
xml = bxml.decode('utf-8')
print(xml)
print("---"*25)
# 美觀格式
dom = parseString(xml)
prettyxml = dom.toprettyxml(indent=' ')
print(prettyxml)
# 保存
with open('persons1.xml', 'w', encoding='utf-8') as f:
f.write(prettyxml)面試題二 之 如何讀取XML文件的內(nèi)容,并將其轉換為字典:
- 這里需要用到第三方庫:xmltodict。需要安裝一下哦~
- 供我們讀取的XML文件是products.xml,文件內(nèi)容如下:
<!-- products.xml -->
<root>
<products>
<product uuid='1234'>
<id>10000</id>
<name>蘋果</name>
<price>99999</price>
</product>
<product uuid='1235'>
<id>10001</id>
<name>小米</name>
<price>999</price>
</product>
<product uuid='1236'>
<id>10002</id>
<name>華為</name>
<price>9999</price>
</product>
</products>
</root># coding=utf-8
import xmltodict
with open('products.xml', 'rt', encoding='utf-8') as f:
xml = f.read()
d = xmltodict.parse(xml)
print(d)
print("---" * 25)
print(type(d)) # 輸出為:<class 'collections.OrderedDict'>
# 說明此時已經(jīng)轉為字典(排序字典)~
print("---"*25)
# 美觀格式
import pprint
dd = pprint.PrettyPrinter(indent=4)
dd.pprint(d)總結
需要兩個第三方模塊(需安裝):
- dicttoxml用于將字典轉換為XML文檔;
- xmltodict用于將XML文檔轉換為字典。
到此這篇關于Python數(shù)據(jù)存儲之XML文檔和字典的互轉的文章就介紹到這了,更多相關Python XML文檔字典互轉內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解JavaScript編程中的window與window.screen對象
這篇文章主要介紹了JavaScript編程中的window與window.screen對象,是JS在瀏覽器中視圖編程的基礎,需要的朋友可以參考下2015-10-10

