我正在尝试从 python 中的模板 xml 文件生成自定义 xml 文件。
从概念上讲,我想读入模板 xml,删除一些元素,更改一些文本属性,然后将新的 xml 写入文件。我希望它能像这样工作:
conf_base = ConvertXmlToDict('config-template.xml')
conf_base_dict = conf_base.UnWrap()
del conf_base_dict['root-name']['level1-name']['leaf1']
del conf_base_dict['root-name']['level1-name']['leaf2']
conf_new = ConvertDictToXml(conf_base_dict)
现在我想写入文件,但我不知道如何访问
ElementTree.ElementTree.write()
conf_new.write('config-new.xml')
有什么方法可以做到这一点,或者有人可以建议以不同的方式做到这一点?
这会给你一个没有属性的字典。我不知道这对任何人是否有用。当我想到这个时,我自己正在寻找一个 xml 来听写解决方案。
import xml.etree.ElementTree as etree
tree = etree.parse('test.xml')
root = tree.getroot()
def xml_to_dict(el):
d={}
if el.text:
d[el.tag] = el.text
else:
d[el.tag] = {}
children = el.getchildren()
if children:
d[el.tag] = map(xml_to_dict, children)
return d
This: http://www.w3schools.com/XML/note.xml
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
等于这个:
{'note': [{'to': 'Tove'},
{'from': 'Jani'},
{'heading': 'Reminder'},
{'body': "Don't forget me this weekend!"}]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)