0
        <urlauto>http://172.16.9.83:8080/dev/ask.action</urlauto>
        <urlupload>http://172.16.9.83:8080/fileserver/upload</urlupload>
        <urldownload>http://172.16.9.83:8080/fileserver/Download</urldownload>
swnuv 3.7k
2019-07-17 提问
1 个回答
0

可以使用模板引擎,将xml中的字段作为模板变量,使用时传递变量的实际值到模板完成渲染。
以Python的常用模板引擎Jinja2为例:
首先pip install jinja2
编写如下的文件,命名为render.py

import sys
from jinja2 import Environment, FileSystemLoader

if __name__ == '__main__':
    if len(sys.argv) < 2:
        print('You must provide a url as the first argument.')
        sys.exit(1)
    url = sys.argv[1]
    env = Environment(loader=FileSystemLoader('.'))
    template = env.get_template('template.xml')
    with open('output.xml', 'w') as f:
        f.write(template.render({'url': url}))

接下来,将下面的模板命名为template.xml,放在和render.py相同目录下

<urlauto>{{ url }}/dev/ask.action</urlauto>
<urlupload>{{ url }}/fileserver/upload</urlupload>
<urldownload>{{ url }}/fileserver/Download</urldownload>

最后,执行python render.py http://172.16.9.83:8080,你就可以得到一个渲染好的output.xml文件了。

撰写答案

推广链接