Python xml.etree.ElementTree — как записывать истинные и ложные значения в виде строк, а не логических значений

У меня есть файл XML, который я читаю и изменяю, используя xml.etree.ElementTree в python 2.6 и 2.7. Модуль ElementTree автоматически изменяет что-либо со значением «true» или «false» (нижний регистр) на логическое значение, а затем записывает его в измененный файл как «True» или «False».

Как я могу записать эти ключи как str(True) и str(False), чтобы они оставались в нижнем регистре?


person user2824889    schedule 28.09.2017    source источник


Ответы (1)


Используйте 1_:

>>> from lxml import etree
>>> root = etree.Element("root")
>>> tag = etree.SubElement(root, 'tag')
>>> tag.set("booleanValue", str(True).lower())
>>> etree.tostring(root, xml_declaration=True, encoding="utf-8")
'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<root><tag booleanValue="true"/></root>'
person Maurice Meyer    schedule 28.09.2017