Редактирование XML с сохранением форматирования "как есть"

Мне нужно внести несколько изменений в существующие XML-файлы, сохранив при этом форматирование(без этого файл не будет прогружаться на базовую станцию). Использую Beautiful Soup. Учитывая множество XML-библиотек python,делал ли кто-нибудь что-то подобное. Мой код:

from bs4 import BeautifulSoup
fd = open('1.xml', 'r')
xml_file = fd.read()
soup = BeautifulSoup(xml_file, 'lxml')
for tag in soup.findAll(n="maxUeRbNumDl"):
    tag['v'] = '50'
for tag in soup.findAll(n="tac"):
    tag['v'] = '8500'
for tag in soup.findAll(n="maxUeRbNumUl"):
    tag['v'] = '23'
with open('2.xml', 'w') as f:
        f.write(str(soup))

Исходный вид xml:

<T n="productName" v="BS8700" />
<T n="productNumber" v="2" />

После скрипта:

<t n="productName" v="BS8700"></t>
<t n="productNumber" v="2"></t>


Ответы (1 шт):

Автор решения: Sergey Melekhin

Проблема решилась сменой парсера:

soup = BeautifulSoup(xml_file, 'lxml-xml')

lxml - это html парсер, для xml нужен lxml-xml.

→ Ссылка