ElementTree.SubElement用于什么参数?

tim*_*ran 9 python xml elementtree

我看过这里的文档:

http://docs.python.org/dev/library/xml.etree.elementtree.html#xml.etree.ElementTree.SubElement

parent和tag参数看起来很清楚,但是我将属性名称和值放在哪种格式?我找不到任何先前的例子.额外**参数的格式是什么?

我收到并错误地尝试调用SubElement本身,说它没有定义.谢谢.

cir*_*cus 21

SubElement是ElementTree(不是Element)的函数,它允许为Element创建子对象.

  • attrib采用包含您要创建的元素的属性的字典.

  • **extra用于其他关键字参数,这些参数将作为属性添加到Element.

例:

>>> import xml.etree.ElementTree as ET
>>>
>>> parent = ET.Element("parent")
>>>
>>> myattributes = {"size": "small", "gender": "unknown"}
>>> child = ET.SubElement(parent, "child", attrib=myattributes, age="10" )
>>>
>>> ET.dump(parent)
<parent><child age="10" gender="unknown" size="small" /></parent>
>>>
Run Code Online (Sandbox Code Playgroud)


dei*_*aur 5

如果您进一步查看链接到其处理位置的同一页面,class xml.etree.ElementTree.Element(tag, attrib={}, **extra)它会告诉您任何额外参数如何工作,即通过例如:

from etree import ElementTree as ET
a = ET.Element('root-node', tag='This is an extra that sets a tag')
b = ET.SubElement(a, 'nested-node 1')
c = ET.SubElement(a, 'nested-node 2')
d = ET.SubElement(c, 'innermost node')
ET.dump(a)
Run Code Online (Sandbox Code Playgroud)

这也向您展示了子元素的工作原理,您只需告诉它要将其附加到哪个元素(可以是子元素)即可。为了将来,也提供一些代码,以便更容易地了解您正在做什么/想要什么。