Форум сайта python.su
Подскажите, пожалуйста, как проще изменить значение атрибута в XML? (XML находиться в файле и нужно его туда сохранить)
Офлайн
Если использовать дом-парсинг, то проще всего:
from xml.dom.minidom import parseString
f = open('file.xml','rt')
data = parseString(f.read())
f.close()
......
...... # ищем нужный элемент
......
element.setAttribute('attr_name','attr_value')
......
f = open('file.xml','wt')
f.write(data.toxml())
f.close()
Офлайн
Сделал так:
f = open( "pages/xml.xml",'rt')
data = xml.dom.minidom.parseString(f.read())
f.close()
element = xml.dom.minidom.Element('id')
element.setAttribute('value','newAttr')
f = open("pages/xml.xml",'wt')
qw = data.toxml()
qw = qw.encode('utf-8')
f.write(qw)
f.close()
Отредактировано (Сен. 30, 2009 22:05:28)
Офлайн
Спасибо, разобрался, тему можно закрывать.
Отредактировано (Сен. 30, 2009 22:48:46)
Офлайн
РоманннНу так расскажи, как… Этот топик в будущем могут читать люди, которые у которых та же проблема.
Спасибо, разобрался, тему можно закрывать.
Офлайн
f = open( "pages/xml.xml",'rt')
data = xml.dom.minidom.parseString(f.read())
f.close()
element = data.getElementsByTagName('comp')[0].getElementsByTagName('id')[0]
element.setAttribute('value','newAttr')
f = open("pages/xml.xml",'wt')
f.write(data.toxml('utf-8'))
f.close()
Отредактировано (Окт. 3, 2009 16:23:18)
Офлайн