XSD to Java,指定使用Java HashMap

2023-12-03

我正在尝试从 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<String, String> details = new HashMap<String, String>();

我已经尝试过这个:

    <xsd:complexType name="ErrorMessage">
    <xsd:sequence>
        <xsd:element name="name" type="xsd:string" />
        <xsd:element name="details" type="map" />
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="map">
    <xsd:sequence>
        <xsd:element name="mapEntry" type="mapEntry" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="mapEntry">
    <xsd:sequence>
        <xsd:element name="key" type="xsd:string" />
        <xsd:element name="value" type="xsd:string" />
    </xsd:sequence>
</xsd:complexType>

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

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

代替

protected java.util.Map<String, String> details = new HashMap<String, String>();

生成的“地图”类是:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "map", propOrder = {"mapEntry"})
public class Map {
     protected List<MapEntry> mapEntry;

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

注意:我也尝试过使用Oracle owi:hasmp但出现命名空间错误。

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

包含在我的架构声明中

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

<xsd:element name="details" type="owi:hashmap" />

错误是:

src-resolve.4.2:解析组件“owi:hasmap”时出错。它是 检测到“owi:hasmap”位于命名空间中
'http://www.oracle.com/webservices/internal',但是来自于此的组件 命名空间无法从模式文档中引用 '文件://myFile.xsd。如果这是不正确的命名空间,也许 'owi:hasmap' 的前缀需要更改。如果这是正确的 命名空间,然后应添加适当的“导入”标签 '文件://myFile.xsd

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

任何想法 ?


是的,地图由 jaxb 无缝处理,但只有一种方式。

解决方案描述如下:

http://todayguesswhat.blogspot.co.uk/2012/09/jaxb-xsd-to-java-maphashmap-example.html

但如果你已经有一个正确映射的类,那就很麻烦了。为什么要从 XSD 重新生成它?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XSD to Java,指定使用Java HashMap 的相关文章

随机推荐

  • 使用 boost 函数进行 SolrNet 查询

    我正在尝试使用这个库 看起来非常好 但我很难理解如何向我的查询添加额外的参数 例如升压函数等 如何做到这一点 您可以使用 QueryOptions 的 ExtraParams 属性将任何参数添加到 Solr 查询字符串 例子 ISolrOp
  • 单击表单中的按钮会导致页面刷新

    我有一个 Angular 表单 其中有两个按钮标签 一键提交表单ng click 另一个按钮纯粹用于导航ng click 然而 当单击第二个按钮时 AngularJS 会导致页面刷新 从而触发 404 我在函数中放置了一个断点 它正在触发我
  • 如何在 stringi 包中使用反向引用?

    在 R 中我可以使用 1引用捕获组 但是 当使用 stringi 包时 这不会按预期工作 library stringi fileName lt hello you lst fileName lt stri replace first re
  • 从数据库中检索一百万条记录

    有一个数据库 它的表中大约包含 200 万条记录 我从我的java代码中运行了查询 就像这样 select from table 它将从结果集中的数据库中获取完整的数据 或不 如果是 那么它将如何工作 我想了解此检索的工作原理 请告诉我 我
  • 防止 const 成员函数更改成员数组

    显然 const 成员函数仍然允许更改类成员指向的数据 这是我的意思的一个例子 class MyClass public MyClass int getSomething const private int data data new in
  • 如何在带有子图的绘图中设置辅助x轴及其范围?

    有谁知道如何在绘图中设置辅助 x 轴及其范围 我试图在这里显示垂直直方图 但它目前仍然太小 垂直直方图 import pandas as pd import numpy as np import plotly graph objects a
  • 如何修复 PHONE GAP 中 Android 设备的粘性页脚?

    我在 Phone Gap 工作 我修复了页脚 这适用于少数设备 但不适用于少数设备 页脚的 HTML 代码 div style background image url img bottom bar png class footer div
  • 什么时候会在 C# 中使用委托? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 您在 C 中如何使用委托
  • 在 XSLT 中创建一个简单的模式弹出窗口

    我正在构建一个样式表 表中有一些成员 我想要的是 当我单击每个会员时 会打开一个弹出模式窗口 其中包含 XML 文件中的该会员数据 我可以使用会员 ID 作为参考 我尝试使用 fancybox http fancybox net 但问题是
  • 每组加权geom_密度的密度总和为1

    使用加权数据时 如何对密度图进行分组并使每组的密度总和为 1 The ggplot2帮助geom density 建议使用加权数据的技巧 除以权重之和 但是当分组时 这意味着各组的组合密度总计为 1 我希望每个组的密度总计为一个 我发现了两
  • 如何将列表嵌套到Redis中的结构中以减少顶层?

    我想在redis中维护一些元数据 meta key build key meta data user 12345 tag D12321341234123 res redis sip hmset meta key meta data 它按预期
  • 为什么我的 Cucumber 测试在使用 Selenium 运行时失败?

    我正在使用 Cucumber Capybara 组合测试 Rails 3 应用程序 我还尝试使用 Selenium 来测试一些 JavaScript 特定场景 但遇到了我不明白的奇怪困难 我对 Cucumber Capybara 的经验非常
  • SF Symbol 与scaleAspectFill 不能很好地配合使用

    我注意到 SF 符号并不能很好地与scaleAspectFill 例如 给定一个圆形方面 用细边框填充 UIImageView 将其图像设置为UIImage systemName person crop circle fill 看起来像下面
  • 如何在所有其他应用程序之上监视键盘,然后向它们发送其他键

    我正在基于运行 Win7 的旧计算机构建多媒体控制台 我想用数字键盘控制玩家 我无法使用常见的媒体控制设备 因为它们仅响应 Windows 媒体播放器 我会使用 KVM Player Winamp 等 因此 每个人都有自己的一组键盘快捷键
  • jQuery - 以编程方式触发事件

    我需要以编程方式触发由 jQuery 处理的单击事件 这是当前的代码 var thumbs PhotoGalleryThumbs tile var zoom PhotoGallery PhotoGalleryZoom img var des
  • 动态 jQuery 使用基于元素的 AddMethod 验证错误消息

    假设我有一个自定义的 jQuery Validate AddMethod 如下所示 validator addMethod min length function val element do stuff the error message
  • 从 SQL 错误消息 547 获取特定信息

    如何从 547 号 SQL 错误消息中正确提取特定信息 所需信息 表名 约束名称 列名 Code Try Catch ex As System Data SqlClient SqlException If ex Number 547 The
  • PyQt:keyPressEvent 和 keyReleaseEvent - 按住不反弹

    我想实施一个QDialog 其中按下某个键一段时间 秒 然后释放 我尝试这样做keyPressEvent and keyReleaseEvent功能 我遇到的问题是 当按下一个键时 防抖 keyReleaseEvent 发生得非常快 这在我
  • 在javascript中拖动光标?

    我需要在某些地方设置拖动光标 但我看不到这里列出的http www w3schools com cssref pr class cursor asp 就我而言 当我拖动一些图像时它会出现 http s2 subirimagenes com
  • XSD to Java,指定使用Java HashMap

    我正在尝试从 XSD 模式生成一些 Java 类 我确切地知道我想用 Java 生成什么 并且我正在尝试编写相应的 XSD 模式 我需要表示一个java util HashMap HashMap 我找不到如何在 XSD 架构 或 xjb 绑