Поддержка различных версий формата XML с Python LXML - PullRequest
0 голосов
/ 21 марта 2012

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

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

Я бы сделал что-то вроде упомянутого здесь: https://stackoverflow.com/questions/9845943/how-to-convert-xml-data-in-to-sqlite-database/9879617#9879617

Существуют разные способы применения логики в цикле for в зависимости от любых шаблонов в xml, но идея та же.Это должно позволить вам обрабатывать запрос гораздо более плавно в зависимости от того, какие значения существуют.

Убедитесь, что вы посмотрите на: http://lxml.de/tutorial.html Там много полезных советов по использованию lxml.

0 голосов
/ 21 марта 2012

Мини-пример может помочь вам начать:

from xml.dom.minidom import parseString

doc = parseString('<one><two>three</two></one>')
for twoElement in doc.getElementsByTagName('two'):
    print twoElement.firstChild.data

Может быть, вам стоит взглянуть на документацию minidom или задать дополнительные вопросы здесь. Но с этим eggs.getElementsByTagName() вы можете найти все элементы под деревом eggs. Конечно, вы можете быть более конкретным, чем поиск в doc.

...