如何将 XML 转换为 java 值对象?

2023-12-14

有哪些开源库可以将 XML 转换为 java 值对象?

在 .Net 中,有一种方法可以通过 xml 序列化和属性轻松实现此目的。我想象java中有一些并行的东西。我知道如何使用 DOM 或 SAX 解析器来做到这一点,但我想知道是否有更简单的方法。

我有一个预定义的 XML 格式,看起来像这样。

<FOOBAR_DATA>
  <ID>12345</ID>
  <MESSAGE>Hello World!</MESSAGE>
  <DATE>22/04/2009</DATE>
  <NAME>Fred</NAME>
</FOOBAR_DATA>

在 .Net 中,我可以执行类似的操作将我的对象绑定到数据。

using System;
using System.Xml.Serialization;

    namespace FooBarData.Serialization
    {
      [XmlRoot("FOOBAR_DATA")]
      public class FooBarData
  {
    private int _ID = 0;
    [XmlElement("ID")]
    public int ID
    {
      get { return this._ID; }
      set { this._ID = value; }
    }

    private string _Message = "";
    [XmlElement("MESSAGE")]
    public string Message
    {
      get { return this._Message; }
      set { this._Message = value; }
    }

    private string _Name = "";
    [XmlElement("NAME")]
    public string Name
    {
      get { return this._Name; }
      set { this._Name = value; }
    }

    private Date _Date;
    [XmlElement("DATE")]
    public Date Date
    {
      get { return this._Date; }
      set { this._Date= value; }
    }

    public FooBarData()
    {
    }
  }
}

我想知道是否有一种使用注释的方法(类似于 .Net 或 Hibernate),它允许我将值对象绑定到预定义的 XML。


I like XStream很多,特别是与 JAXB 相比 - 与 JAXB 不同,XStream 不需要您拥有 XSD。如果您有一些想要序列化和反序列化为 XML 的类,而不需要创建 XSD、运行 jaxc 从该模式生成类等繁琐操作,那么这非常好。另一方面,XStream 非常漂亮轻的。

(当然,有很多时候 JAXB 是合适的,例如当您有适合该场合的预先存在的 XSD 时......)

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

如何将 XML 转换为 java 值对象? 的相关文章

随机推荐

  • 在 BeautifulSoup 中用字典解析脚本标签

    正在研究部分答案this问题 我遇到了一个bs4 element Tag这是一堆嵌套的字典和列表 s 以下 有没有办法返回包含的网址列表s without using re find all 关于此标签结构的其他评论也很有帮助 from b
  • Flash 图像上传需要强制裁剪吗?

    有人知道 Flash 文件 图像 上传器会强制用户在上传之前调整图像大小和 或裁剪图像吗 然后也上传它 基本上 我不希望我的服务器处理图像调整大小 裁剪 我想指定目标纵横比 并让用户调整大小并裁剪图像以使其适合 我以前见过裁剪上传器 但它们
  • 通过C连接oracle DB

    我想在Windows操作系统中使用C语言连接oracle数据库 但我不知道如何开始 以及先决条件是什么 任何人都可以为我提供任何帮助 教程或示例代码吗 谢谢 http www dreamincode net forums topic 307
  • JavaFX:同时有 2 个独立窗口

    我想一次创建2个独立的窗口 一个窗口将能够保存可观察的列表 另一个窗口将显示所选列表对象的属性 我正在尝试将列表视图创建为通用列表 并将其与特定于对象的窗口 例如客户属性 啤酒属性 商店属性 结合起来 简而言之 如果用户单击 客户 它将显示
  • Worklight 和 jquery:我想要获取 xml 中存在的链接并使用行动态标记它们?

    上面附加了我的图像 该图像将其提取到远程服务器 其显示为内容页面中的行 我在同一个 xml 中有链接 我想将该链接标记为该行 然后单击它 用户应该加载页面 我怎样才能获取它 function displayFeeds items var u
  • 如何从文本文件中读取单词并将其添加到字符串数组中?

    这是我的函数 调用方式为 getWord words void getWord char words MAXWORDLENGTH int i char newWord MAXWORDLENGTH FILE file file fopen w
  • 如何使用 android 列出 ftp 目录?

    已解决 如何获取 ftp 服务器上的文件和文件夹列表 我知道如何连接和上传文件 但不知道如何获取目录列表 try FTPClient ftpClient new FTPClient ftpClient connect InetAddress
  • 如何检索cameraID并使用setTorchMode?

    Android M 最近问世了 它现在有一个内置的相机灯功能 称为 setTorchMode 我很好奇它是如何工作的 因为参数是 字符串cameraID 布尔值真 假 布尔值显然决定了灯是打开还是关闭 但是如何获取cameraID呢 我知道
  • 如何运行 JAR 文件

    我创建了一个像这样的 JAR 文件 jar cf Predit jar 我通过双击这个 JAR 文件来运行它 它不起作用 所以我从 DOS 提示符下运行它 如下所示 java jar Predit jar 它引发了 无法加载主类 异常 所以
  • ffmpeg:转换前后的视频长度不同

    我有一组 mov 视频 需要转换为 mp4 格式 我正在使用 ffmpeg 并运行以下命令 ffmpeg i Banking mov vsync async sameq ac 1 ab 64k ar 44100 Banking mp4 输入
  • 覆盖从 NPM @Types 下载的 V2.2.2 中的 TypeScript 类型

    我正在使用该组件反应路由器引导程序和定义来自绝对打字 我的问题是下载的定义与组件不匹配 我创建了一个拉取请求来解决这个问题 但由于我不知道什么时候会修补它 所以我必须覆盖它 我不能只编辑位于的类型定义文件node modules types
  • 使用 MySqlConnector for .NET 是否完全支持 TransactionScope 对象?

    我正在编写单元测试 技术上是集成测试 因为我正在连接到数据库 并且我想在测试内的事务中创建记录 并在测试完成后回滚所有数据库修改 我的想法是 我将通过一个 API 调用创建另一个 API 调用希望在数据库中找到的记录 我有以下有效的代码 s
  • CSVHelper BadDataFound 在有效的 csv 中

    我们的客户开始报告从 CSV 文件导入数据时出现的错误 看到 csv 文件后 我们决定从自定义 CSV 解析器切换到 CSVHelper 但 CSV Helper 无法读取一些有效的 CSV 文件 用户可以将任何 csv 文件加载到我们的应
  • 当相关子项发生更改时,SQLAlchemy 会更新父项

    我正在尝试将一个实体建模为一个或多个一对多关系 这样它就是last modified属性更新 当 添加或删除子项 一个孩子被修改 实体本身被修改 我整理了以下最小示例 class Config Base tablename config I
  • Android 5 中的意图操作调用

    我有这段代码 在 Android 4 4 及更早版本中运行良好 Intent intent new Intent Intent ACTION CALL intent setPackage com android phone intent s
  • 在 Oracle APEX v4.2.2 中通过 Ajax 调用 Oracle 函数进行现场验证

    我正在使用 Oracle 11g 和 Oracle Apex v4 2 2 我想知道如何在动态操作中通过 ajax 调用来调用 Oracle 函数的最佳方式 我基本上有一个带有六个参数的函数 它们返回 INVALID 或 VALID 的结果
  • asm更改cmd背景颜色

    我编写了更改文本颜色的部分 但我找不到更改背景颜色的方法 此代码用于 tasm 汇编 model small stack 256 data ent db 0ah 0dh array db 2 4 5 6 db 7 8 9 5 db 1 2
  • SSIS 数据分析任务编辑器返回错误代码

    我正在尝试使用 Visual Studio 2017 运行 SSIS 工具 数据分析任务 可以看到流程运行成功 但是 当我单击 打开配置文件查看器 时 会出现此错误代码 数据配置文件查看器遇到意外错误 必须 关闭 错误消息是 无法加载文件或
  • 将二进制转换为 ASCII,反之亦然

    使用此代码获取字符串并将其转换为二进制 bin reduce lambda x y 256 x y ord c for c in hello 0 这输出 0b110100001100101011011000110110001101111 如
  • 如何将 XML 转换为 java 值对象?

    有哪些开源库可以将 XML 转换为 java 值对象 在 Net 中 有一种方法可以通过 xml 序列化和属性轻松实现此目的 我想象java中有一些并行的东西 我知道如何使用 DOM 或 SAX 解析器来做到这一点 但我想知道是否有更简单的