有没有任何方法可以从.xsd模式生成java.awt.Image



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

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

我试过这样的东西:

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

结果是字节[]。

我知道在java.awt.Image中,如果我转换成一个模式,我只得到

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

但是,有什么方法可以把.xsd中的java.awt.Image取出来吗?

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

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

有关更多信息

  • http://blog.bdoughan.com/2011/05/schema-to-java-xmlmimetype.html

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

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

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

最新更新