我需要向以下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代码工作正常,但现在需要在user部分下添加variables部分,例如:
<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)
)
相关问题 更多 >
编程相关推荐