[org.xml.sax.SAXParseException: cvc-complex-type.2.4.d: Invalid content was found starting with element 'ns1:TheFooAndBarThing'.
No child element '{"http://www.myschemanamespace.xyz/v1":BarId}' is expected at this point.]
<xs:complexType name="TheFooAndBarThing">
<xs:sequence>
<xs:element name="FooId" minOccurs="1" maxOccurs="1" type="nx:FooIdType"/>
<xs:element name="BarId" minOccurs="1" maxOccurs="100" type="nx:BarIdType"/>
</xs:sequence>
</xs:complexType>
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TheFooAndBarThing", propOrder = {
"fooId",
"barId"
})
public class TheFooAndBarThing {
@XmlElement(name = "FooId", required = true)
protected String fooId;
@XmlElement(name = "BarId", required = true)
protected List<String> barId;
public String getFooId() {
return fooId;
}
public void setFooId(String value) {
this.fooId = value;
}
public List<String> getBarId() {
if (barId == null) {
barId = new ArrayList<String>();
}
return this.barId;
}
}
所以我的问题是:
如何将XSD中的maxOccurs/minOccurss值导入Java代码,以便在构建元素列表时将其用作max/min值?
简答:没有容易的办法。
架构派生的类不再引用原始架构。即使使用XSOM之类的东西来解析原始模式,也将无法找到相应的XML模式构造来检查。
解决这个问题的最好方法是编写一个自定义的XJC插件(我写了很多)。
minOccurs=“0”和maxLength value=“15”都被植入到生成的java类中。 有人能帮我吗?TNX
myType也被定义为complexType。然后得到生成的类MyResponse.java和Reference.java。我可以通过以下方式分配“引用”的值: 而且奏效了。 现在我只是删除了maxOccurs=“unbounded”,它不再起作用了。响应不再是List类型,而是JaxBelement类型。我试着用: 谁能告诉我,当它不是一个列表时,什么是正确的做法?
我在xsd模式中有不同的复杂类型,我使用Jaxb在java类上展示了这一点。我以这种方式在javaclass中展示了成功复杂类型枚举: 但我不能在java生成的类中表达这种限制 minOccurs="0"和maxLlong value="15"都播种在生成的java类中。 有人能帮我吗?三硝基二甲苯
问题内容: 所以我想有一个列表要用@XmlElements注释,如下所示 我想知道是否有一种方法可以强制列表包含至少1个元素,因为现在,xsd看起来像 问题答案: 假设Apple,Orange和Mango是Fruit的子类,您可能需要注释与XML模式中的替换组相对应的属性,而不是与选择概念相对应的属性。 假设Apple,Orange和Mango类扩展了Fruit类,并带有注释 想要查询更多的信息
这是我的xml: 我为这个xml使用了JAXB和unMarshall,我可以得到描述和外部密钥。但是我不能得到有价值的属性名称。 > 这是我的java类: 组织JAVA 银行JAVA 如何获取属性名称和值?谢谢你
B/src/main/gen pom.xml 我想在B项目中从XSD生成类,它存在于一个项目中 在B项目的pom.xml中,我有: