Как добавить элементы в XML-файл и сохранить оригинальный отступ, python3 - PullRequest
0 голосов
/ 23 октября 2019

Я использую библиотеку Python ElementTree и пытаюсь сделать следующее:

  1. Открыть XML-файл
  2. Добавить несколько атрибутов
  3. Сохраните его так, чтобы он выглядел точно так же, как оригинал (с добавленными атрибутами)

Допустим, это мой входной 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-файл похожим на оригинал, когда речь идет о выравнивании? (табуляции, пробелы, переводы строк и т. д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...