`

介绍Xmappr

 
阅读更多
http://wangwenjunhi.iteye.com/blog/567219
好像在2010年一月初的时候刚刚发布了0.9版本,这个框架的主要作用就是用来进行读取配置文件(xml)的,但是和以前我们常用的有所不同,他是直接用java的对象和xml进行映射,在我们以前读取xml的时候,哪怕是使用了jdom,dom4j,xpath等的相关API,获得字段仍然失去了他本来的属性,比如说他之前是一个integer类型的,我们获取到的一律都是string类型的,如果配置文件数量比较多,配置项比较多,我们还要垒一些看似一样的代码。
一:概要
Xmappr是一个使用纯Java编写的处理XML的类库,提供一种非常简单的方式来处理XML,可以将任意XML与Java类相映射。
主要特性:
映射通过注释或外部配置实现
可以缓存未映射元素
保持XML元素顺序
可以自定义类型转换器
完全支持XML命名空间
线程安全(设计用于多线程使用)
不包含任何依赖关系
整个类库大小只有80kb
采用BSD许可
二:示例
Xmappr的使用非常简单,更为详细的API和说明可以直接查看他的官方文档
http://www.theserverside.com/news/thread.tss?thread_id=59078,首先我们引入jar文件,注意你的jdk版本需要是6.0以上的才可以,如果不是6.0的需要从sun的官网下载xmlstream相关的jar。直接来代码演示:
<?xml version="1.0" encoding="UTF-8"?>  
<root a="2.2">   
    some text   
    <node>123</node>   
</root>  

上述的是一段配置文件。
package com.neusoft.xmappr;  
  
import org.xmappr.Attribute;  
import org.xmappr.Element;  
import org.xmappr.RootElement;  
import org.xmappr.Text;  
  
@RootElement  
public  class Root {  
    @Attribute  
    public float a;  
  
    @Element  
    private Integer node;  
  
    @Text  
    public String text;  
  
    /** 
     * @return the a 
     */  
    public float getA() {  
        return a;  
    }  
  
    /** 
     * @param a the a to set 
     */  
    public void setA(float a) {  
        this.a = a;  
    }  
  
    /** 
     * @return the node 
     */  
    public Integer getNode() {  
        return node;  
    }  
  
    /** 
     * @param node the node to set 
     */  
    public void setNode(Integer node) {  
        this.node = node;  
    }  
  
    /** 
     * @return the text 
     */  
    public String getText() {  
        return text;  
    }  
  
    /** 
     * @param text the text to set 
     */  
    public void setText(String text) {  
        this.text = text;  
    }  
}  

上述是配置文件对应的javabean,好了看一下我们的测试代码
@Test  
    public void testAnnotaionTypeXmappr() throws FileNotFoundException {  
        Xmappr xmappr = new Xmappr(Root.class);  
        FileReader reader = new FileReader(XML_PATH);  
        Root root = (Root) xmappr.fromXML(reader);  
        Assert.assertEquals(2.2f, root.getA());  
}  

程序运行没有任何问题,是不是和以前的方式进行xml读取相比较方便了很多。详细的说明请直接查看官方文档,在这里只做一个引子,主要是想说明一下annotation带给程序的一些方便。
分享到:
评论

相关推荐

    xmappr解析XML适用例子

    本教程将聚焦于如何使用第三方库——xmappr,来快速且高效地解析XML文件。 xmappr是一个Java库,它提供了简洁的API,使得XML到Java对象的映射变得异常简单。相比于传统的DOM、SAX或StAX解析器,xmappr通过其直观的...

    xmappr-0.9.3.jar

    官方的xmappr-0.9.3.jar,试试吧!

    JavaEye新闻月刊 - 2010年01月 - 总第23期.pdf

    Xmappr是一个用Java实现的XML处理工具,它可能提供了高效且易于使用的API,帮助开发者更便捷地处理XML文档。 7. **2010年JFreeChart图表的新功能**: JFreeChart,一个流行的Java图表库,发布了新版本,增加了新...

    MiniGui业务开发基础培训-htk

    MiniGui业务开发基础培训-htk

    com.harmonyos.exception.DiskReadWriteException(解决方案).md

    鸿蒙开发中碰到的报错,问题已解决,写个文档记录一下这个问题及解决方案

    网络分析-Wireshark数据包筛选技巧详解及应用实例

    内容概要:本文档详细介绍了Wireshark软件中各种数据包筛选规则,主要包括协议、IP地址、端口号、包长以及MAC地址等多个维度的具体筛选方法。同时提供了大量实用案例供读者学习,涵盖HTTP协议相关命令和逻辑条件的综合使用方式。 适合人群:对网络安全或数据分析有一定兴趣的研究者,熟悉基本网络概念和技术的专业人士。 使用场景及目标:适用于需要快速准确捕获特定类型网络流量的情况;如网络安全检测、性能优化分析、教学演示等多种实际应用场景。 阅读建议:本资料侧重于实操技能提升,在学习时最好配合实际操作练习效果更佳。注意掌握不同类型条件组合的高级用法,增强问题解决能力。

    com.harmonyos.exception.BatteryOverheatException(解决方案).md

    鸿蒙开发中碰到的报错,问题已解决,写个文档记录一下这个问题及解决方案

    com.harmonyos.exception.ServiceUnavailableException(解决方案).md

    鸿蒙开发中碰到的报错,问题已解决,写个文档记录一下这个问题及解决方案

    MATLAB上机试题 MATLAB原理及应用实验报告 第3章 MATLAB的符号运算.docx

    内容概要:本文档详细介绍了MATLAB的符号运算,涵盖符号对象的命名方法、基本运算、级数求法等多个方面。通过具体的实验案例,如确定符号表达式中的变量、执行四则运算、提取分子分母、因式分解与展开、化简符号表达式、级数符号求和、符号微积分以及符号方程的求解,帮助学生理解和掌握MATLAB中的符号运算技巧。 适合人群:适用于对MATLAB有一定了解的大专院校的学生、研究人员和技术工作者。 使用场景及目标:通过本课程的学习,学员能够熟练使用MATLAB完成复杂的数学问题解决,提高科研项目和工程任务中对数学模型的建模能力和问题解决效率。 其他说明:文档包含详细的实验步骤指导和实例演示,同时提供了丰富的练习题供读者巩固所学知识。对于想要深入研究MATLAB符号运算的人来说是一份宝贵资料。

    springboot vue2 mysql 校园美食分享平台 论文.docx

    适合参考论文写作

    联通精准营销平台外呼系统HTTP接口规范

    内容概要:文档介绍了联通精准营销平台外呼系统的HTTP接口规范(V2.3),提供了API接口用于外呼业务的各种功能,确保企业的市场拓展和技术操作的无缝衔接。主要涵盖接口列表如坐席登录、数据获取、企业修改密码等,并详细说明了每个接口的方法、路径、请求参数及返回状态。针对外呼过程中的常见问题给出了处理指导,旨在帮助企业高效开展外呼业务,同时保障数据的安全性和合规性。 适用人群:适用于企业IT技术人员、营销人员以及任何希望利用电信运营商提供的API来增强自身外呼和数据分析能力的专业人士。 使用场景及目标:企业可通过这些API实现与联通平台的数据交互,包括但不限于获取客户资料、发起呼叫、管理和统计外呼数据,从而提升营销效率和客户服务体验。特别强调在外呼过程中涉及的身份认证、信息安全等方面的处理措施。 其他说明:此接口文档更新频繁,版本为2.3。企业需要及时关注最新动态以便充分利用各项功能优化营销策略。同时应注意遵守中国联通关于数据安全的相关政策法规。

    springboot vue2 mysql 图书馆管理系统 论文.docx

    适合参考论文写作

    java项目,课程设计-springboot校园在线拍卖系统

    java项目,课程设计-springboot校园在线拍卖系统,随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的,在人们的工作生活中,也就需要互联网技术来方便人们的日常工作生活,实现工作办公的自动化处理,实现信息化,无纸化办公。 本课题在充分研究了在Springboot框架基础上,采用B/S模式,以Java为开发语言,MyEclipse为开发工具,MySQL为数据管理平台,实现的内容主要包括首页,个人中心,综合管理等功能。

    全媒体运营+江苏工匠比赛

    全媒体运营+江苏工匠比赛

    com.pureharmony.exception.CredentialValidationException.md

    鸿蒙开发中碰到的报错,问题已解决,写个文档记录一下这个问题及解决方案

    com.harmonyos.exception.CloudServiceConnectionException(解决方案).md

    鸿蒙开发中碰到的报错,问题已解决,写个文档记录一下这个问题及解决方案

    com.harmonyos4.exception.VirtualMemoryAllocationException

    鸿蒙开发中碰到的报错,问题已解决,写个文档记录一下这个问题及解决方案

    IEC 60598-1-2020中文翻译.pdf

    IEC 60598-1-2020中文翻译

    com.pureharmony.exception.ResourceLockException.md

    鸿蒙开发中碰到的报错,问题已解决,写个文档记录一下这个问题及解决方案

    诗经数据,包含注释,翻译以及解读

    {"_id":{"$oid":"67302bf63eeb6773961e96bb"},"title":"关雎","belong":"国风·周南","appreciation":[{"title":"【注释】","content":"关关雎鸠〔jūjiū〕:关关,雄雌水鸟相互应和的鸣叫声。雎鸠,亦称王鴡,一种水鸟名,上体暗褐,下体白色,善捕鱼。洲:水中的陆地。窈窕〔yǎo tiǎo〕:娴静貌,美好貌。窈,喻女子心灵美;窕,喻女子仪表美。仇〔qiú〕:古同“逑”,配偶。荇〔xìng〕菜:又名莕菜,多年生水生草本,圆叶细茎,叶可食用。流:义同“求”,此指顺水势摘采。寤寐〔wù mèi〕:日夜。寤,醒时。寐,睡时。思服:思,语气助词,无实义。服,思念。友:亲近,结交。芼〔mào〕:以手指或指尖采摘。"},{"title":"【翻译】","content":"\n\r\n\t相对啼鸣的雌雄雎鸠,就在河水中央的小洲之上。娴静淑雅的女子,是君子最好的配偶。长短不齐的荇菜,从长短不齐的荇菜,从左边或右边逐一采摘。娴静淑雅的女子,演奏琴瑟来与她相交。长短不齐的荇菜,从左边或右边轻轻拈取。娴静淑雅的女子,

Global site tag (gtag.js) - Google Analytics