我正在尝试使用PythonLXML向tomcat server.xml添加vhost条目
import io
from lxml import etree
newdoc = etree.fromstring('<Host name="getrailo.com" appBase="webapps"><Context path="" docBase="/var/sites/getrailo.org" /><Alias>www.getrailo.org</Alias><Alias>my.getrailo.org</Alias></Host>')
doc = etree.parse('/root/server.xml')
root = doc.getroot()
for node1 in root.iter('Service'):
for node2 in node1.iter('Engine'):
node2.append(newdoc)
doc.write('/root/server.xml')
问题是它正在移除
<?xml version='1.0' encoding='utf-8'?>
输出文件顶部的行和vhost条目都在一行中
<Host name="getrailo.org" appBase="webapps">
<Context path="" docBase="/var/sites/getrailo.org" />
<Alias>www.getrailo.org</Alias>
<Alias>my.getrailo.org</Alias>
</Host>
首先,您需要使用
remove_blank_text
解析现有文件,以便它是干净的,并且没有额外的空间,我认为这在本例中是一个问题然后您可以安全地将它写回磁盘,并在
doc.write()
中设置pretty_print
和xml_declaration
相关问题 更多 >
编程相关推荐