2
我还没有使用lxml创建xml,所以我有点失落。我可以创建一个函数,创建一个elemnt:使用lxml动态创建xml
from lxml import etree as ET
from lxml.builder import E
In [17]: def func():
...: return E("p", "text", key="value")
In [18]: page = (
...: E.xml(
...: E.head(
...: E.title("This is a sample document")
...: ),
...: E.body(
...: func()
...:
...: )
...: )
...:)
In [19]: print ET.tostring(page,pretty_print=True)
<xml>
<head>
<title>This is a sample document</title>
</head>
<body>
<p key="value">text</p>
</body>
</xml>
我该如何使函数添加多个元素?例如,我想func(3)
创建3个新段落。如果func返回一个列表,我得到一个TypeError。
我不能评论Martijn的答案,所以我写了一个答案。 def func(count):result = [] for xrange(count):result.append(E(“p”,“text”,key =“value”))return result不适用于我,但更改**结果= [] **到**结果=列表()**做到了。 –