and*_*y47 6 python xml elementtree
我输出即使是最简单的Element(Tree)实例也有问题.如果我在Python 2.7.1中尝试以下代码
>>> from xml.etree.ElementTree import Element, SubElement, tostring
>>> root = Element('parent')
>>> child = Element('child')
>>> SubElement(root, child)
>>> tostring(root)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
TypeError: cannot serialize <Element 'root' at 0x9a7c7ec> (type Element)
Run Code Online (Sandbox Code Playgroud)
我必须做错事,但文档并没有指出任何明显的事情.
SubElement不将元素作为第二个参数.该API文档给签名
SubElement(parent, tag, attrib={}, **extra)
Run Code Online (Sandbox Code Playgroud)
即第二个参数是子元素的标记(即名称)
在ElementTree的文档提供更多细节
要添加子元素,请查看Element上的append方法,例如
root.append(child)
Run Code Online (Sandbox Code Playgroud)
http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.SubElement
SubElement的第二个参数是标记(str)而不是Element,它自己创建Element实例:
>>> SubElement(root, 'child')
0: <Element 'child' at 0x1f2dfb0>
>>> tostring(root)
1: '<parent><child /></parent>'
Run Code Online (Sandbox Code Playgroud)