Python / PyXB - получение значения элемента grandchild - PullRequest
0 голосов
/ 07 ноября 2018

Мой поставщик услуг дал мне данные, используя файлы XML и XSD, и я пытаюсь проанализировать эти данные, используя PYXB library в Python.

Я могу получить доступ к корневым и дочерним элементам и атрибутам, за исключением элемента grandchild. Я хотел бы знать, как я могу получить доступ к значению элемента внука (GenderValue).

Вот часть XML-файла:

<Person id="10441" recordaction="add" date="10-Jul-2018">
  <GenderDetails>
    <Gender>
      <ReferenceGroup ReferenceGroupCode="DJ"/>
      <GenderValue>Male</GenderValue>
    </Gender>
  </GenderDetails>

Вот мой код теста Python и результат:

>>> for person in dj.Records.Person:
...     if person.GenderDetails is not None:
...         if person.GenderDetails.Gender is not None:
...             print(person.GenderDetails.Gender)
...             print(person.GenderDetails.Gender.GenderValue)
... 
[<schema_DJ.CTD_ANON_14 object at 0x11b97afd0>]
Traceback (most recent call last):
  File "<stdin>", line 5, in <module>
AttributeError: '_PluralBinding' object has no attribute 'GenderValue'

Результат показывает, что объект Gender находится в памяти и AttributeError. Я не знаю, почему он искал атрибут вместо элемента. Спасибо за вашу помощь заранее.

...