spa*_*kus 8 java xml xsd jaxb bigdecimal
我有一个xsd注释,我试图让Marshal成为一个java对象.我希望java最终得到BigDecimal的价值.我在xsd中输入什么才能使它成功?我正在使用xjc ant任务
<xjc schema="my.xsd" destdir="generated" header="false" extension="true" />
Run Code Online (Sandbox Code Playgroud)
这是相关的xsd -
<complexType name="Size">
<attribute name="height" type="BigDecimal"></attribute> <!-- this is wrong-->
</complexType>
Run Code Online (Sandbox Code Playgroud)
我想为生成的类最终得到这个 -
public class Size {
@XmlAttribute(name = "height")
protected BigDecimal height;
}
Run Code Online (Sandbox Code Playgroud)
甲JAXB(JSR-222)实施将产生java.math.BigDecimal从decimal类型(见表6-1中JAXB 2.2规范).
XML Schema(schema.xsd)
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/schema"
xmlns:tns="http://www.example.org/schema"
elementFormDefault="qualified">
<element name="foo">
<complexType>
<sequence>
<element name="bar" type="decimal"/>
</sequence>
</complexType>
</element>
</schema>
Run Code Online (Sandbox Code Playgroud)
XJC电话
xjc schema.xsd
Run Code Online (Sandbox Code Playgroud)
Java模型(Foo)
package org.example.schema;
import java.math.BigDecimal;
import javax.xml.bind.annotation.*;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {"bar"})
@XmlRootElement(name = "foo")
public class Foo {
@XmlElement(required = true)
protected BigDecimal bar;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7075 次 |
| 最近记录: |