python xml解析實例詳解
python xml解析
first.xml
<info> <person > <id>1</id> <name>fsy</name> <age >24</age> </person> <person> <id>2</id> <name>jianjian</name> <age>24</age> </person> <count id ='1'>1000</count> </info>
from xml.etree import ElementTree as etree
讀入
def read_xml(file): # parse()函數(shù)會返回一個能代表整篇文檔的對象。這不是根元素。要獲得根元素的引用可以調(diào)用getroot()方法。 tree = etree.parse(file) root = tree.getroot() return root
得到信息
def print_node(node):
'''''打印結(jié)點基本信息'''
print("node.tag:%s" % node.tag)
print("node.attrib:%s"%node.attrib)
print( "node.text:%s" % node.text)
搜索:
find_all
>>> root = read_xml ('first.xml')
>>> res = root.findall("person")
[<Element 'person' at 0x00000000033388B8>, <Element 'person' at 0x0000000003413D68>]
注意:findall只查詢直接的子節(jié)點
>>> r1 = root.findall("id")
>>> r1
[]
>>> r =tree.findall(".//id")
>>> for e in r:
print( e,e.text)
<Element 'id' at 0x00000000034279F8> 1
<Element 'id' at 0x0000000003427B38> 2
find:
#find()方法用來返回第一個匹配到的元素。當我們認為只會有一個匹配,或者有多個匹配但我們只關心第一個的時候,這個方法是很有用的。
>>> res[0].find("id")
<Element 'id' at 0x0000000003413CC8>
>>> print_node(res[0].find("id"))
node.tag:id
node.attrib:{}
node.text:1
find查找失?。?br />
使用find要注意在布爾上下文中,如果ElementTree元素對象不包含子元素,其值則會被認為是False(即如果len(element)等于0)。這就意味著if element.find('...')并非在測試是否find()方法找到了匹配項;這條語句是在測試匹配到的元素是否包含子元素。想要測試find()方法是否返回了一個元素,則需使用if element.find('...') is not None。
>>> bk = res[0].find("no")
>>> bk
>>> type(bk)
<class 'NoneType'>
>>> res[0].find("id")
<Element 'id' at 0x0000000003413CC8>
>>> if res[0].find("id"):
print("find")
else:
print("not find")
not find
>>> if res[0].find("id") is not None:
print("find")
else:
print("not find")
find
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
python函數(shù)存儲在模塊的優(yōu)點及用法總結(jié)
在本篇文章里小編給大家整理了一篇關于python函數(shù)存儲在模塊的優(yōu)點及用法相關內(nèi)容,有興趣的朋友們可以跟著學習下。2021-10-10
Gradio機器學習模型快速部署工具quickstart前篇
這篇文章主要為大家介紹了Gradio機器學習模型快速部署工具quickstart準備原文翻譯,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
python開發(fā)準備工作之配置虛擬環(huán)境(非常重要)
這篇文章主要介紹了python開發(fā)準備工作之配置虛擬環(huán)境(非常重要),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
Pytorch實現(xiàn)Fashion-mnist分類任務全過程
這篇文章主要介紹了Pytorch實現(xiàn)Fashion-mnist分類任務全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

