我在REDIS中有4000多个键值记录。 我到服务器的XML文件应该是这样的:
public class HeaderPanel extends JPanel {
public HeaderPanel() {
setName("DefaultHeaderPanel"); // assign style name
}
}
我需要生成具有我可以从数据库获得的所有值的XML文件(数量可能有所不同)。 我之前看到的所有示例都具有预定义的结构-始终预先知道将要有多少行。但就我而言,它始终是不同的数字。如何“带循环”生成XML文件?
答案 0 :(得分:1)
您可以使用jinja2:
from jinja2 import Environment, PackageLoader, select_autoescape
import os
def write_xml(list_data):
env = Environment(
loader = PackageLoader('path', 'to', 'template', 'directory'),
autoescape = select_autoescape(['html', 'xml'])
)
template = env.get_template('template.xml')
output_from_parsed_template = template.render(values=list_data)
path = os.path.join("path", "to", "output")
with open(str(path), "wb+") as fh:
fh.write(output_from_parsed_template.encode('utf-8'))
您的template.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
{% for value in values %}
<string name="Address">{{ value.Address }}</string>
<string name="AppName">{{ value.App }}</string>
{% endfor %}
</resources>