2015-06-12 62 views
2
from xml.etree.ElementTree import ElementTree, Element, SubElement, dump 

elem = Element('1') 
sub = SubElement(elem, '2') 
tree = ElementTree(elem) 

dump(tree) 
dump(elem) 

在上面的代碼中,轉儲樹(它是一個ElementTree)和轉儲elem(這是一個Element)的結果相同。因此,我很難確定兩者之間的區別。ElementTree和Element之間有什麼區別? (python xml)

回答

1

傾倒樹(這是一個ElementTree)和傾倒elem(這是一個元素)結果是一樣的。

dump()功能的工作原理同爲ElementTreeElement因爲它是故意做出這樣的行爲:

def dump(elem): 
    # debugging 
    if not isinstance(elem, ElementTree): 
     elem = ElementTree(elem) 
    elem.write(sys.stdout) 
    ... 

我無法確定有什麼區別兩者之間。

ElementTree是一個包裝類,它對應於提供序列化功能的「整個元素層次結構」 - 轉儲和加載樹。另一方面,另一方面,Element是一個非常「大」的類,它定義了Element接口。

+0

你能想出一個很好的方法來說明兩者之間的區別嗎? – Michael

相關問題