如何在Zeep对象中添加多个同质子元素

时间:2019-03-06 16:37:00

标签: python xml soap zeep

创建带有异构元素的Zeep对象非常容易,例如:

<A>
  <B>
    <C>foo</C>
    <D>bar</D>
  </B>
  <E>
    <C>foo</C>
    <D>bar</D>
  </E>
</A>

是通过创建的(这说明了各种不同的方式):

A(
  B={"C": "foo", "D": "bar"},
  E={"C": "foo", "D": "bar"},
)

不清楚的是,如何用这样的同质元素创建结构:

<A>
  <B>
    <C>foo</C>
    <D>bar</D>
  </B>
  <B>
    <C>foo</C>
    <D>bar</D>
  </B>
</A>

您如何用Zeep客户端类型表示这种情况?

1 个答案:

答案 0 :(得分:0)

几周前搜索了此内容,并给出了合理的答案。

<A>
  <B>
    <C>foo</C>
    <D>bar</D>
  </B>
  <B>
    <E>far</E>
    <F>boo</F>
  </B>
</A>

将以zeep表示-像以list of dicts为值的dict

dic = dict(
  A=dict(
    B=[
      {"C": "foo", "D": "bar"},
      {"E": "far", "F": "boo"},
    ]
  )
)

:是的:

还发现它也here,所以可能是重复的吗?