我正在使用xsd生成我的模型,以下是我的xsd文件之一,使用它我正在生成Generator
模型,这里我的问题是我想要一个变量的类型是{{1} }类型,但我得到Long
premitive数据类型。
long
Generated Class就像: -
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc" jaxb:version="1.0">
<xsd:complexType name="Generator">
<xsd:sequence>
<xsd:element name="id" type="xsd:string" minOccurs="1" />
<xsd:element name="name" type="xsd:string" minOccurs="1" />
<xsd:element name="age" type="xsd:int" minOccurs="1" />
<xsd:element name="timestamp" type="xsd:long" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
生成的public class Generator
implements Cloneable, CopyTo, Equals, ToString
{
@XmlElement(required = true)
protected String id;
@XmlElement(required = true)
protected String name;
@XmlElement(required = true)
protected int age;
@XmlElement(required = true)
protected long timestamp;
// settter and getter methods
}
值的类型为timestamp
,但我希望其类型为long
答案 0 :(得分:0)
我在XSD中也遇到了同样的问题,而我需要对象而不是原始对象。
对于您的情况,请尝试以下给出的选项4。它应该像对我一样起作用。
type =“ xs:long” minOccurs =“ 0” maxOccurs =“ 1”>(生成)-长值(对象)
type =“ xs:long” minOccurs =“ 0” maxOccurs =“ 1” nillable =“ true”>(生成)-JAXBElement值(对象)
type =“ xs:long” minOccurs =“ 1” maxOccurs =“ 1”>(生成)-长值(原始)
我知道这是一个很晚的答复,但它可能会帮助面临此类问题的其他人。