Python / PyXB-获取“孙子”元素的值

时间:2018-11-07 17:51:35

标签: python xml parsing xsd pyxb

我的服务提供商使用XML和XSD文件为我提供了数据,我正尝试在Python中使用PYXB library来解析这些数据。

除了孙元素之外,我可以访问根元素和子元素以及属性。我想知道如何访问孙元素(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。我不知道为什么它搜索属性而不是元素。提前谢谢你的帮助。

0 个答案:

没有答案