Я новичок в Python, и я только начал работать с разбором XML. Я немного перегружен всеми вариантами работы с XML, и я надеюсь, что опытный человек может дать мне совет (и, возможно, пример кода??) для простой проблемы, над которой я работаю.
Я работаю над простым приложением для управления контактами Python, которое не использует базу данных — информация о каждом контакте хранится в отдельном текстовом файле с использованием XML. Например, предположим, что следующее содержимое файла "1234.xml"
<contact>
<id>1234</id>
<name>Johnny Appleseed</name>
<phone>8145551212</phone>
<address>
<street>1234 Main Street</street>
<city>Hometown</city>
<state>OH</state>
</address>
<address>
<street>1313 Mockingbird Lane</street>
<city>White Plains</city>
<state>NY</state>
</address>
</contact>
Для примера предположим, что может быть только один номер телефона, но несколько блоков адресов.
Для того, что я здесь делаю, мне нужно иметь возможность анализировать XML из файла, вносить изменения в данные, а затем обновлять XML и сохранять его обратно в файл. Предположим, что могут произойти три типа изменений данных:
изменение данных для одного или нескольких элементов, например обновление номера телефона
добавление нового блока адреса (и соответствующих данных для улицы/города/штата нового адреса)
удаление существующего блока адресов
Учитывая то, что я пытаюсь здесь сделать, можете ли вы порекомендовать конкретный способ сделать это? (SAX, DOM, minidom, ElementTree, что-то еще?) Мы будем очень признательны за образцы кода для всего, что вы предложите.
Спасибо!
Рон