使用Quick在Java对象和XML之间进行转换

近几年来,XML 的确给编程世界带来了巨大冲击。然而,XML 应用程序的复杂 性(从一开始就很复杂)在最近几年中并没有减少多少。开发人员仍要花几个星 期的时间(即使不是几个月)来学习复杂的 XML 语义和 API(如 SAX 和 DOM) 来操作 XML。然而,在过去的 6 个月到 12 个月中,相对于那些较复杂的 API, 另一种新的比较简单的 XML API(称为 Quick)已经越来越受到欢迎。

数据绑定允许您直接在 Java 对象和 XML 之间映射,而不必处理 XML 属性和 元素。另外,它允许 Java 开发人员使用 XML,而无需花时间去钻研 XML 规范。 Quick 是这样一种数据绑定 API,它是使 Java 应用程序适合业务用途的项目。

安装与设置

在钻研使用 Quick 的细节之前,您需要下载和安装该项目。请访问 Quick 的 网站,然后选择 Download。然后,您可以下载该项目的 .zip 文件;在我写本文 时,最新的可用版本是 Quick 4.3.1,可通过 Quick4.3.1.zip 文件得到。

解压缩 .zip 文件以创建 Quick 分发版(distribution)。清单 1显示了目 录层次结构:

清单 1. Quick 目录结构

Quick4
  |
  +-- JARs
  +-- BATs
  +-- Doc
  +-- dtdParserSrc
  +-- DTDs
  +-- examples
  +-- JARs
  +-- QDMLs
  +-- QJMLs
  +-- quickSrc
  +-- UTILs
  +-- utilSrc
  +-- XSLs

开发人员最关注的两个目录是 Quick4/BATs(它应该被添加到 PATH 环境变量 )和 Quick4/JARs(它包含应该被添加到 CLASSPATH 环境变量的 jar 文件)。 明确地讲,您需要将 dtdparser115.jar 、 Quick4rt.jar 和 Quick4util.jar 添加到当前类路径中。您还需要一个 SAX 解析器实现,如 Apache 项目的 Xerces-J。同样,将 xerces.jar或您自己喜爱的解析器添加到类路径中。

Java 类和 XML 文档

数据绑定将集中于 XML 和 Java,所以让我们研究如何把这些 XML 文档和 Java 类与 Quick 联系起来。为了说明这些问题,让我们研究几个简单的 Java 类和一个简单的 XML 文档。

简单的 XML 文档

首先, 清单 2 显示了一个小的 XML 文档。我已经使事情简单化,因此您读 完 10 个或 15 个 Java 类之后,不会不理解概念。

清单 2. 表示一个人的 XML

<?xml version="1.0"?>
<!DOCTYPE person SYSTEM "person.dtd">
<person>
  <firstName>Gary</firstName>
  <lastName>Greathouse</lastName>
  <address type="home">
   <street>10012 Townhouse Drive</street>
   <city>Waco</city>
   <state>TX</state>
   <zipCode>76713</zipCode>
  </address>
  <phoneNumber>
   <type>home</type>
   <number>2545550287</number>
  </phoneNumber>
  <phoneNumber>
   <type>work</type>
   <number>2545556127</number>
  </phoneNumber>
</person>

虽然 清单 2 不是有关如何编写 XML 的主要示例,但其中有几个关于 Quick 的要点值得注意。您还需要研究 清单 3中所示文档的 DTD。

清单 3. person.xml 的 DTD

<!ELEMENT person (firstName, lastName, address+,  phoneNumber+)>
<!ELEMENT firstName (#PCDATA)>
<!ELEMENT lastName (#PCDATA)>
<!ELEMENT address (street, city, state, zipCode)>
<!ATTLIST address
      type  (home | work | other)  "home"
>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT zipCode (#PCDATA)>
<!ELEMENT phoneNumber (type, number)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT number (#PCDATA)>

时间: 2016-09-17

使用Quick在Java对象和XML之间进行转换的相关文章

XML的操作——JAXB进行Java对象和XML之间的转换

JAXB(Java Architecture for XML Binding)是一种特殊的序列化/反序列化工具,可实现Java对象与XML的相互转换. 在JAXB中将一个Java对象-->XML的过程称之为Marshal,XML-->Java对象的过程称之为UnMarshal. @XmlRootElement public class SClass {private String cnum;private List<Student> students;public SClass()

java json和xml之间的转换问题

问题描述 java json和xml之间的转换问题 怎样把json字符串写入xml文件中呢?说说具体步骤!比如先要将json转化为其他形式或者还是什么的 解决方案 Java和JSON之间的转换Java对象和XML之间的转换json/java对象/xml之间相互转换 解决方案二: http://hanyi366.iteye.com/blog/1162365 只是两个有格式的普通文本文件,所以如果转化的话,转换成对应文件的格式就行

JAVA对象和XML文件绑定

目的     在日常工作中,我们经常处理这些编组关系:JAVA对象 <--> XML文件:JAVA对象 <--> 数据库表.本文简单介绍一下JAVA对象和XML文件之间的绑定.虽然代码简单,但解决问题的广度与思路也是非常重要的.     首先,在Maven中引入要用到的jar包. <dependency> <groupId>castor</groupId> <artifactId>castor</artifactId> &

【SpringMVC】SpringMvc基础-常用注解、对象和json或xml之间的转换

转载请注明出处http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] Spring MVC常用注解 @Controller @Controller注解在类上表明这个类是Spring MVC里的Controller将其声明为Spring的一个BeanDispatcher Servlet会自动扫描注解了此注解的类并将Web请求映射到注解了@RequestMapping的方法上. 在声明普通Bean的时候使用@Component.@Service.@Repo

java中基本类型之间的转换

问题描述 java中基本类型之间的转换,笔试中常见的考题及答案,亲们,有能力的就帮忙解答下呗!(额的基础不好呀!) 解决方案 解决方案二:主要是3种,分别如下: 1.字符串和基础数据类型的互相转换 2.基础数据类型和其相对应的包装类的互相转换 3.字符串和基础数据类型的包装类的互相转换  1. (1)字符串转换成为基础数据类型 String s = "200";  int i = Integer.parseInt("s"); 或者 int si2 = new Int

Java对象与XML文件之间相互转化(含源代码)

java对象|xml|源代码 要求:JDK1.4以上 下载:http://spaner.zj.com示例: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3

java list与数组之间的转换详细解析_java

1 数组转换为List调用Arrays类的静态方法asList. asListpublic static <T> List<T> asList(T... a)Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.) This method acts as bridge between a

JAXB -java&amp;lt;-&amp;gt;xml

JAXB,Java  Architecture for XML Binding,是一个业界的标准,规定了java对象与xml之间的序列化与反序列化方法.jdk1.7以后的版本自带这个工具.它很好用,不需要你操纵DOM元素,可直接得到xml. javax.xml.bind.JAXBContext 用于实现java对象与xml之间的序列化与反序列化. JAXBContext javax.xml.bind.JAXBContext.newInstance(Class... classesToBeBoun

Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mengzhengbin520.blog.51cto.com/7590564/1283361 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - Decembe