Очень новое для Python. Мы разрабатываем тестовый инструмент для генерации тестовых сообщений FIXML из данных компонентов, записанных в формате XML. Мы должны использовать ElementTree/Python 2.7.Удаление и добавление элементов в сообщении FIXML
Директор должен загрузить базовый шаблон сообщения (в этом случае msg содержит информацию о не-бизнес-заголовке и т. Д.) И обогатить его, заменив определенные элементы на вспомогательные элементы/атрибуты, но с конкретным бизнес-контентом (например, детали продукта, детали партии и т. д.), поэтому мы можем создавать вариации сделок с помощью нескольких шаблонов.
Пример XML выглядит следующим образом:
<TrdMtchRpt TrdID="$+" RptTyp="0" TrdDt="$date" MtchTyp="4" LastMkt="ABCD" LastPx="123.45">
<Hdr SID="GTS" TID="Somewhere" Snt="$timestamp" />
<ApplSeqCtrl ApplID="D" ApplSeqNum="$appseqnum" />
<InstrmtMtchSide>
<Instrmt Sym="" MMY="" />
<Stats Typ="" Px="" Tm="" Sz="" />
<TrdMtchSide TrdID="" Side="" SideQty="">
<TrdRptOrdDetl OrdID="" ClOrdID="" ClOrdID2="">
<OrdQty Qty="" />
</TrdRptOrdDetl>
</TrdMtchSide>
</InstrmtMtchSide>
</TrdMtchRpt>
Намерение в данном случае разобрать базовый файл, используя etree затем заменить элемент «InstrmtMtchSide» с этим от другого.
Может кто-нибудь, пожалуйста, дайте мне несколько советов о том, как это можно сделать с помощью ElementTree?
Hi @jcollado, Спасибо за ответ. К сожалению, было принято решение использовать этот подход для замены нескольких шаблонов и конкретных элементов без жесткого кодирования, поскольку у нас есть большое количество типов сообщений для учета. Тем не менее я рассмотрю ваши рекомендации по шаблонам. Спасибо и приветствую, Ник Х. –