深入了解python之XML操作

零到壹度
發布: 2018-04-03 17:28:09
原創
1389 人瀏覽過

這篇文章主要介紹了深入了解python之Xml操作,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

讀取xml內容:

 -*- coding:utf-8 -*-
# Author: Evan Mi
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
print(root.tag)
# 一个节点有tag、attrib、text三个值
# tag是标签的名字
# text是标签的内容
# attrib是标签属性的字典,通过字典的get('key')来获取对应的属性的值

# 直接for chile in parent 来遍历节点下的子节点
for child in root:
    print(child.tag, child.attrib)
    for elem in child:
        print(elem.tag, elem.text, elem.attrib)

# 只遍历year节点
for node in root.iter('year'):
    print(node.tag, node.text)
登入後複製

產生xml內容:

# -*- coding:utf-8 -*-
# Author: Evan Mi
import xml.etree.ElementTree as ET

new_xml = ET.Element('namelist')
name = ET.SubElement(new_xml, 'name', attrib={'enrolled': 'yes'})
age = ET.SubElement(name, 'age', attrib={'checked': 'no'})
sex = ET.SubElement(name, 'sex')
sex.text = '33'

name2 = ET.SubElement(new_xml, 'name', attrib={'enrolled': 'no'})
age = ET.SubElement(name2, 'age')
age.text = '19'

et = ET.ElementTree(new_xml)  # 生成文档对象
et.write('te.xml', encoding='utf-8', xml_declaration=True)

ET.dump(new_xml)  # 打印生成的格式
登入後複製

修改、刪除xml內容:

# -*- coding:utf-8 -*-
# Author: Evan Mi
import xml.etree.ElementTree as ET

tree = ET.parse('test.xml')
root = tree.getroot()

# 修改
for node in root.iter('year'):
    new_year = int(node.text) + 1
    node.text = str(new_year)   # 修改内容
    node.set("updated", "yes")  # 修改属性

tree.write('tt.xml')


# 删除
for country in root.findall('country'):
    rank = int(country.find('rank').text)
    if rank > 50:
        root.remove(country)
tree.write('tt1.xml')
登入後複製

相關推薦:

Python & XML

##python讀寫xml檔

Python之XML檔操作

以上是深入了解python之XML操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板