关于使用jaxb做配置解析

本文介绍如何使用JAXB库通过三个步骤解决XML配置文件的解析问题:编写xsd文件定义格式、使用xjc命令生成Java配置类、利用生成的类及jaxb工具解析XML。通过实例展示具体操作过程,使配置文件转换为可操作的Java对象变得简单易懂。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jaxb是个好东西,三步解决配置解析问题:

1、首先写好自己的xsd文件(用于规定配置文件的格式)

2、使用xjc命令生成对应的java配置类。

3、使用生成的java类和jaxb工具类来解析配置文件。

例如,我写好一个server.xsd:


http://www.w3.org/2001/XMLSchema"
    xmlns:tns=" http://www.xunlei.com/server/framework/jaxbconfig/"
    targetNamespace=" http://www.xunlei.com/server/framework/jaxbconfig/" >
   
   
       
           
           
           
           
       
   
   
       
           
               
           
           
                type="xs:int">
           
       
   
   
       
           
           
           
           
       
   

在命令行输入命令:

xjc F:/workspace/workspace3.5/server-framework/src/com/xunlei/server/framework/codegen/fish/codegen.xsd -d F:/workspace/workspace3.5/server-framework/src -p com.xunlei.server.framework.codegen.fish.config。

第一个参数指定xsd文件位置,-d指定生成配置文件类目标位置,-p指定这些类放在哪个package下面。这时在src的com.xunlei.server.framework.codegen.fish.config下面生成了以下类(忽略package-info.java):

  1. Server.java
  2. ServiceRef.java
  3. Property.java

然后使用jaxb来解析server.xml(要符合server.xsd规定的格式):

        JAXBContext jc = JAXBContext
                .newInstance("com.xunlei.server.framework.codegen.fish.config");
        Unmarshaller um = jc.createUnmarshaller();
        Object obj = (Object) um.unmarshal(getClass().getResource(
                "/com/xunlei/server/framework/codegen/fish/server.xml"));
        Server server = ((Server) obj);

   这样就得到了配置文件对应的java对象。server就是配置树的根。

看到了吧,使用起来还是非常方便的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值