您的位置:首页 > 移动开发 > Objective-C

关于使用jaxb做配置解析

2010-02-08 18:31 417 查看
jaxb是个好东西,三步解决配置解析问题:
1、首先写好自己的xsd文件(用于规定配置文件的格式)
2、使用xjc命令生成对应的java配置类。
3、使用生成的java类和jaxb工具类来解析配置文件。
例如,我写好一个server.xsd:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
[b]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">
           
       
   
   
       
           
           
           
           
       
   
[/b]
在命令行输入命令:
xjc F:/workspace/workspace3.5/server-framework/src/com/xunlei/server/framework/codegen/fish/codegen.xsd -d F:/workspace/workspace3.
4000
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):
Server.java
ServiceRef.java
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就是配置树的根。
看到了吧,使用起来还是非常方便的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jaxb server object java 工具