首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含choice语句的PyXB

包含choice语句的PyXB
EN

Stack Overflow用户
提问于 2014-04-20 23:02:47
回答 1查看 331关注 0票数 0

我使用pyXB绑定XML。

我在那里使用的模式有选择元素。

因此,当我将XML转换为python实例时

我不知道在choice元素中选择的是哪一个元素。

所以为了区分,我不得不使用if/else语句来考虑所有的情况。

例如,如果choice元素有a和b,则区分a和b中的一个

代码语言:javascript
复制
A = binder.CreateFromDocument(xml)  #bind into a python instance

#At this point, i don't know which element is included
#So I have to check using if/else  
if A.a:
   #processing in the case of a
   A.a.aa = 'a'
else if A.b:
   #processing in the case of b
   A.b.bb = 'b'

这个例子很简单,if/else看起来足够了,但是如果choice元素有这么多的元素,大约超过100个。

这种处理(重复if/else)将会非常糟糕。

有没有其他方法可以知道选择了哪个元素?

EN

回答 1

Stack Overflow用户

发布于 2014-04-22 09:21:42

可以;复杂类型实例上有一个方法orderedContent,可用于确定实例中存在哪些元素。这也可用于在模式未强制执行顺序时恢复元素的文档顺序,如in the user documentation所述。

请注意,orderedContent列表的成员被包装在提供有关它们的信息的对象中,因此要获得底层内容绑定,必须深入包装器的value属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23183899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档