目前使用的是
Python 2.4.3,不允许升级
我想在一个或多个标签中更改给定属性的值以及更新文件中的XML注释.
我设法创建一个Python脚本,它以XML文件为参数,并且对于指定的每个标签都会更改一个属性,如下所示
def update(file, state):
global Etree
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 = doc.getroot()
for element in root.findall('.//StateManageable'):
element.attrib['initialState'] = state
#end for
doc.write(file)
#end def
这一切都很好,属性“initialState”被更新,除了我的原始XML包含很多XML注释的事实,但是它们已经很久了,这是坏的.
怀疑解析只检索XML结构,但我认为XML-comments中的一部分结构.我也意识到,我的原始文档的“人类可读”格式已经过去了,但是我已经意识到是预期的行为,需要使用xmllint –format或XSL格式化.