Я бы хотел хранить некоторые относительно простые вещи в XML каскадным способом. Идея состоит в том, что сборка может иметь несколько наборов параметров, а скрипты Python создают необходимые артефакты сборки (* .h и т. Д.), Читая эти наборы, и если два набора имеют одинаковый параметр, последний заменяет первый.
Существует (как минимум) два разных способа создания XML:
Первый способ:
<Variants>
<Variant name="foo" Info="foobar">1</Variant
</Variants>
Второй способ:
<Variants>
<Variant>
<Name>Foo</Name>
<Value>1</Value>
<Info>foobar</Info>
</Variant>
</Variants>
Какой из них легче обрабатывать в ElementTree. Мое ограниченное понимание утверждает, что это был бы первый вариант, поскольку я мог бы легко найти вариант с помощью find () и получить все поддерево, но будет ли так же легко сделать это со вторым стилем? Мой коллега говорит, что последний XML лучше, так как он позволяет более легко расширять XML (и он, очевидно, прав), но я не считаю расширяемость важным фактором в данный момент (вполне может быть, он нам никогда не понадобится).
РЕДАКТИРОВАТЬ: Конечно, я мог бы использовать lxml, имеет ли это значение в этом случае? Скорость на самом деле не проблема, файлы относительно небольшие.