節點屬性相關操做

節點是以字典的形式攜帶屬性的spa

 

建立帶屬性節點rest

root = etree.Element("root", interesting="totally")
etree.tostring(root)  #輸出:b'<root interesting="totally"/>'

print(root.get("interesting")) #輸出:totally
print(root.get("hello")) #輸出:none

 

節點屬性賦值code

root.set("hello", "Huhu")
print(root.get("hello")) #輸出:Huhu
etree.tostring(root) #輸出:b'<root interesting="totally" hello="Huhu"/>'

 

獲取節點全部屬性並排序輸出xml

sorted(root.keys())  #輸出:['hello', 'interesting']

for name, value in sorted(root.items()):
    print('%s = %r' % (name, value))
'''
輸出:
hello = 'Huhu'
interesting = 'totally'
'''

 

獲取節點屬性集合(字典形式)對象

attributes = root.attrib
print(attributes["interesting"])  #輸出:totally
print(attributes.get("no-such-attribute")) #輸出:none

attributes["hello"] = "Guten Tag"
print(attributes["hello"]) #輸出:Guten Tag
print(root.get("hello")) #輸出:Guten Tag

'''
注意attrib是一個由元素自己支持的相似dict的對象。
這意味着對元素的任何更改都反映在attrib中,反之亦然。
這還意味着,只要XML樹的某個元素的attrib在使用,它就在內存中保持活動狀態。
要獲取不依賴於xml樹的屬性的獨立快照,請將其複製到dict中
'''

d = dict(root.attrib)
sorted(d.items()) #[('hello', 'Guten Tag'), ('interesting', 'totally')]

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------blog

相關文章
相關標籤/搜索