我已经编写了一个Python脚本来创建一些XML,但是我没有找到编辑Python中标题的方法。使用Python编辑XML标题
基本上,而不必将此作为我的标题:
<?xml version="1.0" ?>
我需要这样的:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
我看着这是尽我所能,却发现没有办法添加独立来自Python内部的状态。所以我认为我必须在文件创建完成后重新查看文件,然后替换文本。我在几个地方读过,我应该远离使用readlines(),因为它可能会破坏XML格式。
目前我的代码来做到这一点 - 这是我从另一个职位#1关于使用Python编辑XML得到了 - 是:
doc = parse('file.xml')
elem = doc.find('xml version="1.0"')
elem.text = 'xml version="1.0" encoding="UTF-8" standalone="no"'
这为我提供了一个KeyError异常。我试图调试它无济于事,这导致我相信也许XML标题并不打算以这种方式进行编辑。或者我的代码错了。
如果有人好奇(或奇迹般地知道如何将独立状态到Python代码),这里是我的代码写的xml文件:
with open('file.xml', 'w') as f:
f.write(doc.toprettyxml(indent=' '))
有些人不喜欢“toprettyxml”,但与我相对基本的水平,这似乎是最好的选择。
无论如何,如果有人能提供一些建议或见解,我将非常感激。
你在使用API,什么Python版本? –
@MartijnPieters Python 2.7.3和我正在使用IDLE。谢谢。 –
IDLE是一个IDE,不是XML API。您是否使用['xml.etree.ElementTree'库](http://docs.python.org/2/library/xml.etree.elementtree.html)? –