XML命名空间到Java,如何建模“选择”?
-
23-08-2019 - |
题
什么是在Java中表示“选择”命名标签的最佳方式? 即
<xs:complexType name="MyType">
<xs:sequence>
<!-- common elements here -->
<xs:element type="xs:string" name="name" ... />
</xs:sequence>
<xs:choice>
<xs:element name="stringValue" type="xs:string"></xs:element>
<xs:element name="intValue" type="xs:int"></xs:element>
</xs:choice>
</xs:complexType>
我如何在Java模型呢?我在想是这样的:
public class MyType
String name;
String stringValue;
int intValue;
...
但是这肯定不是最好的办法,还是我错了?另外,如果我要揭露使用Axis2其使用该类型的服务,做我需要实现一些自定义的消息接收器?
解决方案
我们通常翻译XSD到Java与JAXB或其他一些具有约束力的机制(其中你有Axis2的几个)对象。那些产生完全像你证明对象:即,在选择所有属性在那里,你看不到任何指示只有一个可以存在。如果您所翻译的东西转化成XML格式,这将是唯一的,如果你打开验证发现。没有与选择没有问题,如果你知道你不应该设置在两者同时Java的变种 - 结果有时甚至可以是他们没有做它成生成的XML
不隶属于 StackOverflow