如何轻松地将基于 XML 的配置文件加载到 Java 类中?

2023-12-26

我有一个简单的 java 类,如下所示:

public class Skin implements Serializable {

    public String scoreFontName = "TahomaBold";
    ...
    public int scoreFontHeight = 20;
    ...
    public int blockSize = 16;
            ...

    public int[] nextBlockX = {205, 205, 205, 205};
            ...
    public String backgroundFile = "back.bmp";
            ... 
}



我想从一个简单的 XML 文件中读取此信息,如下所示:

<xml>
    <skin>
        <scoreFontName>"Tahoma Bold"</scoreFontName>
        ...
        <scoreFontHeight>20</scoreFontHeight>
        ...
        <blockSize>16</blockSize>
        ...
        <nextBlockX>
             <0>205</0>
             <1>205</1>
             <2>205</2>
             <3>205</3>
        <nextBlockX>
        ....
        <backgroundFile>"back.bmp"</backgroundFile>
        ...
     <skin>
 </xml>

有没有一种简单的方法可以将 xml 文件中的信息直接注入到变量名称中,而不必手动解析它?我不介意使用外部库。

任何帮助表示赞赏。


XStream 确实是一个很棒的库。

http://x-stream.github.io/ http://x-stream.github.io/

您可以为您的类设置别名,甚至可以设置自定义数据格式,以使 XML 文件更具可读性。

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

如何轻松地将基于 XML 的配置文件加载到 Java 类中? 的相关文章

随机推荐

  • 弹出模式在页面顶部被切断

    这是模态的现场演示 https cdn rawgit com Twinbird24 tbk popup 8fb4e760 index html 它应该在几秒钟后打开 更新 此链接现在显示完成的版本 这是包含所有文件的 GitHub 存储库
  • 通过ssl从celery连接到redis后没有响应

    我正在跟进this https blog miguelgrinberg com post using celery with flask教程 并将 Celery 后台相关代码调整到我的项目中 就我而言 我在 Docker 环境中运行 并且我
  • Google Drive Rest Api 文件导出限制

    我使用休息 API https www googleapis com drive v3 files fileId export https www googleapis com drive v3 files fileId export 参考
  • CakePHP:如何使分页器组件使用不同计数?

    我正在使用以下代码进行简单的分页 paginate array limit gt 30 fields gt array DISTINCT Doctor id Doctor order gt array Doctor id gt desc j
  • 在 lucene 中索引布尔值的最佳选择是什么?

    在lucene中索引一个布尔值 true false 不需要存储 我想要获得更多的磁盘空间使用率和更高的搜索性能 doc add new Field boolean true Field Store NO Field Index NOT A
  • Ecto 查询和具有可变数量的自定义 MySQL 函数

    我想执行如下查询 SELECT id name FROM mytable ORDER BY FIELD name B A D E C FIELD http dev mysql com doc refman 5 7 en string fun
  • 对于流行的 Java 库来说,“附加源代码”是否可以变得更容易?

    当我的调试器进入某个类文件时 我遇到了这个障碍 无相应来源 找到它通常很困难 您必须搜索托管相应项目的站点 并找到它的 下载源 页面 例如 上次我搜索 对于 JPA API 我花了几个小时才获取源代码 或者 你可能 需要从修订控制中检查出来
  • 如何确定AWS资源属于哪个CloudFormation堆栈?

    boto3 中是否有可靠的方法来确定 AWS 资源属于哪个 CloudFormation 堆栈 或者它是否属于堆栈 假设我有一个 DynamoDB 表或一个 EC2 实例 我如何找出它属于哪个堆栈 CloudFormation 的 boto
  • 10秒后下载文件

    我创建了一个下载页面 其中包含一个文件的链接 我希望该文件在 10 秒后自动下载 但我不确定如何执行此操作 文件的链接存储在 cookie 中 可在下载页面上访问并存储在 file 变量中 该文件的链接将类似于以下内容 这指向该文件并包含要
  • 您可以通过编程方式访问当前的 Heroku dyno id/名称吗?

    在 Heroku 上 您能否以编程方式从应用程序内获取当前执行代码的测功机的某种标识符 例如 dyno 名称 例如 web 1 或 worker 1 或其他一些 id 如果是的话 如何在 Java 中做到这一点 总是有机器的主机名 看起来像
  • 如何查明 Oracle 表上次更新时间

    我能否查出对 Oracle 数据库中的表执行最后一条 INSERT UPDATE 或 DELETE 语句的时间 如果是 如何查明 一点背景知识 Oracle 版本是 10g 我有一个定期运行的批处理应用程序 从单个 Oracle 表中读取数
  • 捕获 git 命令的输出?

    我正在编写一个脚本来自动为我设置新项目 这包括拉取 github 存储库 我想做的是从我的脚本中获得一些输出 然后调用git clone repo 我想在该命令运行时显示该命令的输出 但是当它运行时 如果它已成功运行 则将其输出替换为 仅注
  • 手动将pcm数据放入AudioBuffer

    所以我把频道数据从AudioBuffer并通过可传输对象将其发送给网络工作人员以对其进行一些处理 现在我想将其放回原处 我真的必须这样做吗copy就这样回来了 var myData new Float32Array audioBuf len
  • 为什么 MySQL 查询几乎总是用大写字母编写

    我见过大多数程序员在编写 MySQL 查询时都使用大写字母 例如 SELECT FROM table WHERE id 1 ORDER BY id DESC 我尝试用小写大写字母编写查询 但它仍然有效 那么不使用小型大写字母有什么特殊原因吗
  • 从 doFilter 方法设置 cookie

    我有一个带有 doFilter 方法的过滤器类 在 doFilter 方法中 我设置一个 cookie 如下所示 HttpServletResponse httpResp HttpServletResponse servletRespons
  • 如何让 pip 在代理服务器后面工作[重复]

    这个问题在这里已经有答案了 我正在尝试使用 python 包管理器 pip 来安装包及其来自互联网的依赖项 然而 我在我的大学里有一个代理 并且已经设置了http proxy环境变量 但是当我尝试安装这样的包时 pip install Tw
  • commitEditingStyle 未触发

    我有一个 UITableView 我试图在编辑模式处于活动状态但 commitEditingStyle 未触发时删除一行 UITableViewCell tableView UITableView tableView cellForRowA
  • 手动调用 viewDidAppear 的正确时间?

    我有一个UITableViewController在我的应用程序中 它直接添加到视图层次结构中 视图出现后 我想滚动到特定的单元格 我的解决方案是调用滚动代码 viewDidAppear 根据苹果的文档 我必须手动调用该方法 如果属于视图控
  • 删除 Seaborn 条形图图例标题

    我使用seaborn绘制分组条形图 如下所示https seaborn pydata org examples factorplot bars html https seaborn pydata org examples factorplo
  • 如何轻松地将基于 XML 的配置文件加载到 Java 类中?

    我有一个简单的 java 类 如下所示 public class Skin implements Serializable public String scoreFontName TahomaBold public int scoreFon