0
我需要额外的参数添加到下面的XML文件:lxml.builder添加XML参数
<document type="freeswitch/xml">
<section name="directory">
<domain name="10.0.0.1">
<params>
<param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
</params>
<groups>
<group name="default">
<users>
<user id="1000">
<params>
<param name="password" value="c16b463e4aed7f04f102f2b6a8b7471d"/>
</params>
</user>
</users>
</group>
</groups>
</domain>
</section>
</document>
XML代码工作正常,但现在需要添加一个变量部分下用户部分,例:
<users>
<user id="1000">
<params>
<param name="password" value="c16b463e4aed7f04f102f2b6a8b7471d"/>
</params>
<variables>
<variable name="mailbox" value="1000"/>
</variables>
</user>
</users>
lxml.builder库不让我在E.user部分下添加E.variables。什么是正确的方式来添加新的部分?
print "Content-Type: text/xml"
print
from lxml.builder import E
from lxml import etree
doc = (
E.document(
E.section(name="directory"), type="freeswitch/xml")
)
...
groups = dom.find("groups")
searchStr = 'group[@name="{}"]'.format("default")
results = groups.xpath(searchStr)
if len(results) > 0:
grp = results[0]
else:
grp = E.group(
E.users()
, name="default")
groups.append(grp)
# add the new user
grp.find("users").append(
E.user(
E.params(
E.param(name=password_param, value=password),
E.param(name=vm_password_param, value=vm_password))
, id=username)
)