xsd java_XSD到Java,指定使用Java HashMap

我试图从XSD架构生成一些Java类。我确切地知道我想用Java生成什么,并且我正在尝试编写相应的XSD模式。

我需要代表一个java.util.HashMap(HashMap)。我找不到如何在XSD模式(或xjb绑定文件)中指定想要Java中的HasMap的方法。它总是生成一个列表。

在这里我要生成的代码

@XmlAccessorType(XmlAccessType.FIELD)

@XmlType(name = "ErrorMessage", propOrder = { "name", "details"})

public class ErrorMessage {

@XmlElement(required = true)

protected String name;

@XmlElement(required = false)

protected java.util.Map details = new HashMap();

我已经试过了:

但是它仍然继续生成mapEntry的java.util.List:

在我的“错误”类中:受保护的地图详细信息= new Map();

代替

protected java.util.Map details = new HashMap();

生成的“地图”类为:

@XmlAccessorType(XmlAccessType.FIELD)

@XmlType(name = "map", propOrder = {"mapEntry"})

public class Map {

protected List mapEntry;

我确实需要为应用程序使用地图。关于我该怎么做的任何想法?

注意:我也尝试过使用Oracle

owi:hasmp,但是遇到了命名空间错误。

xmlns:owi="http://www.oracle.com/webservices/internal" (also tried with xmlns:owi="http://www.oracle.com/webservices/internal/literal")

包含在我的架构声明中

和我的“详细信息”元素声明如下

错误是:

src-resolve.4.2:解决组件’owi:hasmap’时出错。检测到“ owi:hasmap”在名称空间

http://www.oracle.com/webservices/internal

”中,但是该名称空间中的组件无法从架构文档“ file://myFile.xsd”中引用。如果这是不正确的名称空间,则可能需要更改“

owi:hasmap”的前缀。如果这是正确的名称空间,则应在“ file://myFile.xsd”中添加适当的“导入”标签。

而且它不能将“ owi:hasmap”关联到任何类型定义组件。

任何想法 ?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值