2012-04-01 2 views
-1

У меня есть скрипт python, который возвращает список кортежей из SQL-запроса. Я хочу обновить xml-файл, который у меня есть, из данных из списка.Обновление xml-файла с помощью python?

Что я могу сделать, чтобы просто написать над конкретным элементом или узлом список, который я получил от моего запроса? Спасибо.

Хорошо, я могу найти список элементов, используя findall() из ElementTree, и было предложено, чтобы я использовал setAttribute для обновления, что бы работать. Однако что мне делать с возможностью вставки повторяющихся данных с помощью setAttributes?

Допустим, мой XML содержит список клиентов:

(имя клиента = "боб", возраст = "22") ..

я мог бы использовать цикл по данным SQL, и используйте setAttribute, чтобы добавить новые данные. Но не добавило бы лишнего (имя клиента = «bob», age = «22»), если мои данные sql содержат это? Спасибо.

+1

http://lxml.de/ –

ответ

0

Используйте модуль ElementTree из стандартной библиотеки Python. вы можете прочитать файл XML, разбор его в дерево, а затем найти элементы, которые вы ищете, изменять их и записать обратно.

Если у вас есть более конкретные вопросы, пожалуйста, обращайтесь.

+0

Спасибо. Я смог использовать документацию ElementTree для поиска элементов, которые я искал в XML-документе. Я просто задаюсь вопросом об обновлении концепций в целом. Например, мой SQL запрос возвращает этот набор: , , ,, ,

+0

@timtran: вы можете удалить существующие элементы и добавлять новые вместо этого, или изменить существующие элементы - любой способ больше подходит для вас –

0

python create xml and write to file
the official document for minidom
the official document for DOM
вы можете использовать Element.setAttribute(name, value),Element.setAttributeNode(newAttr) и т. Д. Для обновления

+0

Спасибо , Я смог использовать документацию ElementTree для поиска элементов, которые я искал в XML-документе. Я просто задаюсь вопросом об обновлении концепций в целом. Например, мой запрос sql возвращает этот набор: (tom, 22), (mary, 23), (james 19), (ed, 37), (paul, 28). Я хочу обновить свой XML-файл этими данными. Xml уже содержит <имя клиента = "tom", age = "22" />, <имя клиента = "james", age = "18">. Чтобы предотвратить дублирование, я просто делаю это обновление, удаляя все теги клиента и создавая новый список элементов, чтобы добавить их обратно? –

Смежные вопросы