Как редактировать XML-файл конфигурации в Python 3? - PullRequest
0 голосов
/ 25 мая 2019

У меня есть файл конфигурации xml, и мне нужно обновить определенное значение атрибута.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <testCommnication>
          <connection intervalInSeconds="50" versionUpdates="15"/>
        </testCommnication>
</configuration>

Мне просто нужно обновить значение "versionUpdates" до "10".

Как я могудобиться этого в Python 3.

Я пробовал xml.etree и minidom и не смог этого достичь.

Ответы [ 2 ]

0 голосов
/ 25 мая 2019

Пожалуйста, используйте xml.etree.ElementTree, чтобы изменить xml:
Редактировать : Если вы хотите заказать атрибут в розницу, используйте lxml. Для установки используйте pip install lxml

# import xml.etree.ElementTree as ET
from lxml import etree as ET
tree = ET.parse('sample.xml')
root = tree.getroot()

# modifying an attribute
for elem in root.iter('connection'):
    elem.set('versionUpdates', '10')

tree.write('modified.xml')   # you can write 'sample.xml' as well

Содержимое теперь в modified.xml:

<configuration>
    <testCommnication>
          <connection intervalInSeconds="50" versionUpdates="10" />
        </testCommnication>
</configuration>
0 голосов
/ 25 мая 2019

Вы можете использовать xml.etree.ElementTree в Python 3 для обработки XML:

import xml.etree.ElementTree
config_file = xml.etree.ElementTree.parse('your_file.xml')
config_file.findall(".//connection")[0].set('versionUpdates', 10))
config_file.write('your_new_file.xml')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...