Привет, Димитр! Я использую lxml для манипулирования xml в python.
Я опубликовал несколько методов для управления большим количеством XML-схем, пространств имен и т. Д. Автоматическая проверка XSD
Одно из предложений - попытаться использовать полный xpath, когда это возможно..
Например, если бы у меня был сложный тип:
<Person>
<name/>
<age/>
</person>
я мог бы столкнуться с проблемой, если бы я не использовал /Person/name
и позже, этот сложный тип изменится на:
<person>
<name/>
<age/>
<child>
<son>
<name/>
<age/>
</son>
</child>
</person>
Причина, по которой теперь имя ', существует в нескольких местах.
Также следует помнить о схемах, которые допускают множество "людей" в этом примере.вам может потребоваться предоставить ключ с вашим xpath, чтобы определить, на кого вы ссылаетесь.в вашем xml может быть 5 или 6 человек, xpaths будут идентичны, но имена уникальны, тогда имя будет вашим ключом для ссылки на каждого конкретного человека.
Я бы также предложил написать свои собственные функции-оболочкивокруг lxml, которые соответствуют вашим потребностям.Я создал файл xmlUtil.py, который содержал необходимые мне xml-функции.Затем я создал файл myXML.py, в котором были предположения о моем конкретном xml и поведении.функции xmlUtil.py принимают только содержимое xml (на тот случай, если я решу использовать что-то вместо lxml, это будет легко изменить).
Надеюсь, что это поможет.Хотелось бы мне быть более полезным, но вопрос очень открытый.