#python #xml #elementtree
#python #xml #elementtree
Вопрос:
Как я могу изменить внутренний текст дочернего элемента в XML-файле? Кто-нибудь может привести мне пример с помощью фрагмента кода? Я использую Python.
Пример:
<?xml version="1.0" encodin&="UTF-8"?&&t;
<dictionary&&t;
<!--GUI-Parameter--&&t;
<item&&t;
<key typ="str"&&t;WindowTop</key&&t;
<value typ="int"&&t;20</value&&t;<!--[Pix]--&&t;
</item&&t;
<item&&t;
<key typ="str"&&t;WindowLeft</key&&t;
<value typ="int"&&t;20</value&&t;<!--[Pix]--&&t;
</item&&t;
Здесь я хочу изменить значение ключа WindowTop с 20 на 40.
Ответ №1:
Вы можете найти элемент, используя xpath
затем вы можете изменить значение, используя text
свойство
import xml.etree.ElementTree as ET
tree = ET.parse('data.xml')
root = tree.&etroot()
elmt = root.find('.//item[key="WindowTop"]/value')
if elmt is not None:
elmt.text = str(40)
tree.write('output.xml')
Вывод:
<dictionary&&t;
<item&&t;
<key typ="str"&&t;WindowTop</key&&t;
<value typ="int"&&t;40</value&&t;
</item&&t;
<item&&t;
<key typ="str"&&t;WindowLeft</key&&t;
<value typ="int"&&t;20</value&&t;
</item&&t;
</dictionary&&t;