现在的Java开发,应该说离不开XML,不管是作为数据交换还是作为配置文件,XML在系统中都起着无法替代的作用。
不过通常情况下,读写XML文件还是一件很疼苦的事,对于一个懒惰的程序员来讲(懒惰是一种美德),是要避免这件事的,其实最简单的办法,就是将XML映射到类上,从而解决这个问题。
常用的XML映射开源软件有以下几个:
XMLBeans: apache小组出品,不过觉得太复杂,而且生成的类总觉得怪怪的,不喜欢
http://xmlbeans.apache.org/
XStream: 这个是我的最爱,简单明了http://xstream.codehaus.org/,以后会写一些介绍性的文章吧,但是不能根据XSD或者DTD自动生成类,这点比较麻烦。
commons-betwixt:jarkata小组出口,质量应该有保证,不过觉得如果有了XMLBeans,还要有commons-betwixt,这大概也说明了XMLBeans不容易使用。有篇中文文章介绍其使用方法http://sentom.net/list.asp?id=46
jibx: sourceforge上的项目,也有一定的名气,还是不错的,可以根据XSD生成Java代码,结合XStream用,很方便的。
我主要还是使用XStream,一是熟悉,二是方便
分享到:
相关推荐
这篇博客“以读取XML方式的大批量导入Excel”介绍了一种高效处理Excel数据的方法,特别是当数据量非常大时,传统的API可能无法满足性能需求。XML作为一种结构化的数据格式,能够很好地存储和传输大量数据,因此,...
《开源软件Linux内核的进化分析》这篇论文深入探讨了Linux内核的演进规律,以及如何对开源软件项目的数据进行收集和分析。Linux内核是操作系统的核心,它负责管理和调度计算机的硬件资源,为上层应用提供服务。这篇...
这篇讨论的是一个开源项目,它能够将XML数据,具体是描述UML状态图的XML,转换成SVG(Scalable Vector Graphics)格式的状态图。SVG是一种基于XML的矢量图像格式,适合创建可缩放的、清晰的图形,对于图表、流程图和...
本篇文章将详细讲解XML的基本概念、结构、解析方式以及与其相关的工具。 首先,XML的设计目标是传输和存储数据,而非显示数据。与HTML不同,HTML主要用于网页的展示,而XML则关注数据的描述和结构。XML文档由一系列...
在本篇Qt编程范例之中高级篇(4)中,我们将深入探讨XML处理技术,这是在C++开发中,特别是使用Qt框架时一个非常重要的部分。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,因其灵活性和跨...
开源中国Maven库是中国的一个开源软件资源平台,提供了大量的开源Java库,使得开发者可以便捷地下载和引用这些库到自己的项目中,无需依赖国外的Maven中央仓库,从而提高了在国内开发项目的效率。 【描述】虽然描述...
在本篇文章中,使用的是ADT 0.9版本和Eclipse 3.4.2 Java版。 在Android平台中,XML通常作为互联网上的数据格式被广泛使用。如果Android应用需要从互联网上获取数据,那么这些数据很可能是以XML格式存在的。同样,...
- Xerces是Apache软件基金会开发的一个开源XML解析器,提供了对DOM、SAX和XSLT的支持,`xercesImpl.jar`是这个解析器的实现。 5. **JSP和Servlet**: - `servlet-api.jar`和`jsp-api.jar`是Java服务器页面(JSP)...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、可扩展性和易于解析的特点广泛应用于软件开发中。在C++编程中,处理XML文件通常需要借助第三方库,因为C++标准库并不直接支持...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、自解释性和可扩展性而被广泛应用于软件开发中。在C++编程中,处理XML文件通常需要借助第三方库或者自定义的封装来简化操作。...
TinyXML 是一个小型、开源的 C++ 库,专门用于解析和操作 XML(eXtensible Markup Language)文档。XML 是一种数据交换格式,广泛应用于软件配置、数据存储、网络通信等多个领域。TinyXML 的设计目标是轻量级、易用...
XML因其结构清晰、易于解析和跨平台的特性,在软件开发中被广泛使用。本篇将深入探讨如何在VC++项目中实现XML文件的读写,并基于提供的资源进行详细讲解。 首先,XML文件的读写通常需要使用库来支持。在VC++中,...
本篇文章主要介绍如何利用开源软件搭建自己的即时通讯服务器,以实现企业内部或特定群体间的高效沟通。 Jabber是一个著名的即时通讯服务服务器,它基于自由开源软件理念,允许用户自行建立即时通讯服务器,不仅适用...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,广泛应用于软件配置、数据交换等领域。在IT行业中,特别是在嵌入式设备或SDK的开发中,能力集(Capabilities Set)通常以XML格式存储,以...
在IT行业中,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,尤其在软件开发中被广泛使用。C++作为一款强大的编程语言,提供了多种库来解析和操作XML文档,其中TinyXML就是一个轻量级的、...
XML(eXtensible Markup Language)是一种用于存储和交换数据的标记语言,它在软件开发中扮演着重要的角色,尤其是在跨平台项目中。C++作为一门强大的编程语言,与XML结合能够实现数据的序列化、配置文件管理以及...
Expat是一个开源的XML解析库,它以C语言编写,被广泛用于各种软件项目中,特别是在需要处理XML数据的系统中。本篇文章将深入探讨如何使用Expat进行XML解析,并着重解决在处理中文字符时遇到的UTF-8转换问题。 XML...
Lucene是Apache软件基金会的一个开源项目,它是一个高性能、全文本搜索库,提供了强大的文本分析和索引功能。在公交系统中,Lucene可以用于构建一个高效的查询引擎,帮助乘客快速找到所需的公交线路、站点信息,以及...
标签"开源软件"表明BunnyX Dynamic XML Proxy遵循开源许可,意味着它的源代码对公众开放,任何人都可以查看、使用、修改和分发这个软件,这促进了社区协作和技术创新。开源软件也往往具有较高的透明度和可靠性,因为...