ElementTree 和 Element 有什么区别?(python xml)

Mic*_*ael 7 python xml element elementtree

from xml.etree.ElementTree import ElementTree, Element, SubElement, dump

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

dump(tree)
dump(elem)
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,转储树(它是一个 ElementTree)和转储 elem(它是一个元素)的结果是一样的。因此,我无法确定两者之间的区别。

ale*_*cxe 4

转储tree(它是一个ElementTree)和转储elem(它是一个Element)会产生相同的结果。

dump()ElementTree函数对于and的作用是相同的,Element因为它是故意这样做的:

def dump(elem):
    # debugging
    if not isinstance(elem, ElementTree):
        elem = ElementTree(elem)
    elem.write(sys.stdout)
    ...
Run Code Online (Sandbox Code Playgroud)

我无法确定两者之间的区别。

ElementTree是一个包装类,对应于“整个元素层次结构”,提供序列化功能 - 转储和加载树。Element另一方面,是一个定义Element接口的“更大”的类。