Я использую библиотеку Python ElementTree и пытаюсь сделать следующее:
- Открыть XML-файл
- Добавить несколько атрибутов
- Сохраните его так, чтобы он выглядел точно так же, как оригинал (с добавленными атрибутами)
Допустим, это мой входной XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://some.url.com"
android:layout_width="match_parent">
<include
layout="@layout/alarms_layout"
android:layout_width="wrap_content"
/>
<ImageView
android:id="@+id/saved_files"
android:layout_alignParentEnd="true"
/>
</RelativeLayout>
Я хочу добавитьатрибут android: id со значением test_id в RelativeLayout .
Итак, я использую функцию element.set(atrr, value)
, затем записываю выходной файл с tree.write(filename.xml)
, но выходной XML выглядит следующим образом:
<RelativeLayout xmlns:android="http://some.url.com" android:id="test_id" android:layout_width="match_parent">
<include layout="@layout/alarms_layout" android:layout_width="wrap_content" />
<ImageView android:id="@+id/saved_files" android:layout_alignParentEnd="true" />
</RelativeLayout>
Есть ли способ сделать исходный XML-файл похожим на оригинал, когда речь идет о выравнивании? (табуляции, пробелы, переводы строк и т. д.)