有没有办法从.xsd Schema中生成java.awt.Image?

时间:2012-03-27 07:35:21

标签: java web-services jaxb jax-rs

我有这个大疑问。 当我在.xsd模式中使用base64Binary并使用JaxB将其转换为Java类时,我得到的类型是byte []。

我想创建这样的模式,从中生成的java类型是java.awt.Image。 这可能吗?

我试过这样的事情:

<element name="name" type="base64Binary" xmime:expected(entreTypes = "image/jpeg")/>

结果是byte []。

我知道java.awt.Image,如果我转换为模式我只是

<element name="name" type="base64Binary"/>

但是有没有办法让它从.xsd中获取java.awt.Image?

2 个答案:

答案 0 :(得分:2)

您可以将XML架构中的元素声明更改为如下所示,以生成java.awt.Image类型:

<xsd:element name="name"
    type="xsd:base64Binary"
    xmime:expectedContentTypes="image/jpeg"/>

了解更多信息

答案 1 :(得分:0)

实际存储在XML中的是什么,用JPEG编码的图像?

您可以使用Toolkit.createImage(byte[])从JPEG数据创建java.awt.Image

或者,如果您需要BufferedImage,可以将字节数组包装在ByteArrayInputStream中并使用ImageIO.read(InputStream)进行读取。