python修改xml保留注释_如何在使⽤PythonElementT解析
XML时保留注释
当前正在使⽤Python2.4.3,不允许升级
我想更改⼀个或多个标记中给定属性的值,以及更新⽂件中的XML注释。
我已经成功地创建了⼀个Python脚本,该脚本以XML⽂件作为参数,对于每个指定的标记,都会更改⼀个属性,如下所⽰def update(file, state):
global Etree
python处理xml文件try:
from elementtree import ElementTree
print '*** using ElementTree'
except ImportError, e:
print '***'
print '*** Error: Must install either ElementTree or lxml.'
print '***'
raise ImportError, 'must install either ElementTree or lxml'
#end try
doc = Etree.parse(file)
root = t()
for element in root.findall('.//StateManageable'):
element.attrib['initialState'] = state
#end for
doc.write(file)
#end def
这⼀切都很好,属性“initialState”被更新了,除了我的原始XML也包含了很多XML注释,但是它们已经消失很久了,这很糟糕。
怀疑parse只检索XML结构,但我认为XML注释是结构的⼀部分。我还意识到,我原始⽂档的“⼈类可读”格式早已不复存在,但我已经意识到这是⼀种预期⾏为,需要在随后使⽤xmllint --format或XSL进⾏格式化。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。