У меня проблема с python xmltodict.Следуя почти согласованной рекомендации здесь , я попробовал xmltodict, и он мне очень понравился, пока мне не пришлось обращаться к атрибутам на верхнем уровне моего обработчика.Я, вероятно, делаю что-то не так, но мне не ясно, что.У меня есть XML-документ, который выглядит примерно так
<api>
<cons id="79550" modified_dt="1526652449">
<firstname>Mackenzie</firstname>
...
</cons>
<cons id="79551" modified_dt="1526652549">
<firstname>Joe</firstname>
...
</cons>
<api>
Я анализирую его следующим образом:
xmltodict.parse(apiResult.body, item_depth=2, item_callback=handler, xml_attribs=True)
, где apiResult.body
содержит XML, показанный выше.Но, несмотря на xml_attribs=True
, я не вижу @id
или @modified_dt
в выводе после синтаксического анализа в обработчике, хотя все элементы в оригинале действительно появляются.
Обработчик закодирован следующим образом:
def handler(_, cons):
print (cons)
mc = MatchChecker(cons)
mc.check()
return True
Что я могу делать не так?
Я также попробовал xmljson и сразу не понравился ему так же, как xmltodict, если толькоУ меня был способ обойти эту проблему.У кого-нибудь есть решение этой проблемы или пакет, который бы справился с этим лучше?