Найти - Пользователи
Полная версия: При использовании parseString атрибуты в XML сохраняются в изменённом порядке
Начало » Python для новичков » При использовании parseString атрибуты в XML сохраняются в изменённом порядке
1
Mepkypuo
Всем привет!
Подскажите, пожалуйста, как можно победить следующую проблему:
Есть XML.
<?xml version="1.0" encoding="utf-8"?>
  <Configuration>
     <Options MasterVolume="1.0" Quality="VeryLow" MaxWidth="1024" MaxHeight="768" Fullscreen="false"/>
  </Configuration>

Используя следующий метод при помощи xml.dom.minidom заменяю в XML любой атрибут:
    f = open('xml.xml', 'rt')
    data = parseString(f.read())
    f.close()
    target_element = data.getElementsByTagName('element')[0]
    target_element.setAttribute('id', 'new value')
    f = open(CLIENT_CONFIG, 'wt')
    f.write(data.toxml('utf-8'))
    f.close()

В результате последовательность атрибутов изменяется:

<?xml version="1.0" encoding="utf-8"?><Configuration>
     <Options Fullscreen="false" MasterVolume="1.0" MaxHeight="768" MaxWidth="1024" Quality="Low"/>
  </Configuration>

Подскажите, пожалуйста, если ли какой-нибудь способ сохранить исходное форматирование и порядок атрибутов и, если есть, укажите, пожалуйста, какой.
Буду премного благодарен!
py.user.next
Mepkypuo
если ли какой-нибудь способ сохранить исходное форматирование и порядок атрибутов

Придётся программировать. :)

def make_attr_order(elem1, elem2):
    pass
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB