python通過ElementTree操作XML
1.引入庫
需要用到3個類,ElementTree,Element以及建立子類的包裝類SubElement
from xml.etree.ElementTree import ElementTree from xml.etree.ElementTree import Element from xml.etree.ElementTree import SubElement as SE
2.讀入并解析
tree = ElementTree(file=xmlfile) root = tree.getroot()
讀入后,tree是ElementTree的類型,獲取xml根結(jié)點使用getroot()方法;
XML示例文件:
<item sid='1712' name='大CC' > <a id=1></a> <a id=2></a> </item>
3.獲取子結(jié)點
查找Element的所有子結(jié)點:
AArry = item.findall('a')也可使用getchildren():
childs = item.getchildren()
for subItem in childs:
print subItem.get('id')4.插入子結(jié)點
方法一:
item = Element("item", {'sid' : '1713', 'name' : 'ityouhui'})
root.append(item)方法二:
SE(root,'item',{'sid':'1713','name':'ityouhui'})方法一的好處是插入之后可以對item繼續(xù)操作。方法二是寫法上簡單,其中SE就是SubElement,在引入處做了聲明;
5.操作屬性
獲取Element的某個屬性值(eg:獲取item的 name)
print root.find('item/name').text
print item.get('name')獲取Element所有屬性
print item.items()?????? # [('sid', '1712'), ('name', '大CC')]
print item.attrib??????? # {'sid': '1712', 'name': '大CC'}6.美化XML
在寫入之前,傳入root調(diào)用此函數(shù),寫入的XML文件格式整齊美觀:
indent(root) book.write(xmlfile,'utf-8')
## Get pretty look
def indent( elem, level=0):
i = "\n" + level*" "
if len(elem):
if not elem.text or not elem.text.strip():
elem.text = i + " "
for e in elem:
indent(e, level+1)
if not e.tail or not e.tail.strip():
e.tail = i
if level and (not elem.tail or not elem.tail.strip()):
elem.tail = i
return elem到此這篇關(guān)于python通過ElementTree操作XML的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python標(biāo)準(zhǔn)庫ElementTree處理xml
- Python如何使用ElementTree解析xml
- Python使用ElementTree美化XML格式的操作
- 利用 Python ElementTree 生成 xml的實例
- Python3 xml.etree.ElementTree支持的XPath語法詳解
- Python利用ElementTree模塊處理XML的方法詳解
- python xml.etree.ElementTree遍歷xml所有節(jié)點實例詳解
- Python中使用ElementTree解析XML示例
- python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(八):XML生成與解析(DOM、ElementTree)
- python通過ElementTree操作XML獲取結(jié)點讀取屬性美化XML
相關(guān)文章
集調(diào)試共享及成本控制Prompt工具PromptLayer使用指南
這篇文章主要介紹了集調(diào)試共享及成本控制Prompt工具PromptLayer使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
Python解析json時提示“string indices must be integers”問題解決方法
這篇文章主要介紹了Python解析json時提示“string indices must be integers”問題解決方法,結(jié)合實例形式分析了Python解析json字符串操作規(guī)范與相關(guān)使用技巧,需要的朋友可以參考下2019-07-07
Python中scatter函數(shù)參數(shù)及用法詳解
這篇文章主要介紹了Python中scatter函數(shù)參數(shù)及用法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
springboot配置文件抽離 git管理統(tǒng) 配置中心詳解
在本篇文章里小編給大家整理的是關(guān)于springboot配置文件抽離 git管理統(tǒng) 配置中心的相關(guān)知識點內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2019-09-09
Python Django 數(shù)據(jù)庫的相關(guān)操作詳解
下面小編就為大家?guī)硪黄猟jango數(shù)據(jù)庫的相關(guān)操作,小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2021-11-11

