- 浏览: 792005 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (981)
- javascript (102)
- java (212)
- JQuery (81)
- 幽默笑话 (2)
- 只言片语 (6)
- 开发小记 (283)
- Hibernate (17)
- DWR (4)
- SQL (10)
- spring-ibatis (8)
- linux (24)
- Struts1 (8)
- Struts2 (16)
- spring (42)
- Mybatis (16)
- css (18)
- servlet (8)
- jdbc (4)
- jsp (1)
- spring-jdbc (2)
- FreeMarker (2)
- MySQL (24)
- JQuery-Grid (7)
- jstl (5)
- 正则表达式 (1)
- 面试集锦 (86)
- unix (18)
- 开发工具 (23)
- ajax (5)
- webservice (4)
- log4j (3)
- oracle (15)
- extjs (14)
- 其他 (9)
- 优秀技术参考地址 (1)
- 性能 (3)
- 数据库 (25)
- 算法 (15)
- 设计模式 (10)
- Python (3)
- AIX (5)
- weblogic (1)
- shell (14)
- quartz (5)
- 图形文件FusionCharts (1)
- Websphere (4)
- 转载 (5)
- hadoop (1)
- highchart (24)
- perl (22)
- DB2 (7)
- JBoss (1)
- JQuery Easy UI (9)
- SpringMVC (5)
- ant (5)
- echart (9)
- log4J配置 (3)
- 多线程 (10)
- 系统架构 (7)
- nginx (3)
- loadrunner1 (1)
- 分布式 (1)
- Dubbo (1)
- Redis (2)
- JMS (4)
- 自动化测试 (3)
- Spring循环依赖的三种方式 (1)
- spring-boot (2)
- 高级测试 (9)
- github (2)
- sonar (1)
- docker (6)
- web前端性能优化 (1)
- spring-aop (6)
- rabbit (1)
- ELK (1)
- maven (1)
- minio (1)
最新评论
-
zengshaotao:
jstl1point0 写道很好啊,如果有带Session会话 ...
Nginx+Tomcat搭建高性能负载均衡集群 -
jstl1point0:
很好啊,如果有带Session会话的怎么搞呢
Nginx+Tomcat搭建高性能负载均衡集群
很多应用代码,对于xml只是一个解析工作而已,不能马上绑定到java 对象。对于对象,每次都需要set 或者get相应的属性,当然也可以使用map 来保存xml配置。于是,一种新的处理方式用于对象和xml之间的映射就变得非常需要,还好sun提供了jaxb,一种很方便的方式来处理java对象和xml内容
OXM
(Object XML Mapping),JAXB原来为JavaEE的一部分,在JDK1.6中,Sun把JAXB放到了Java SE中,用JDK1.5中
的新特性Annotation来标识要绑定的类和属性等
(Object XML Mapping),JAXB原来为JavaEE的一部分,在JDK1.6中,Sun把JAXB放到了Java SE中,用JDK1.5中
的新特性Annotation来标识要绑定的类和属性等
package com.future;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Calendar;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Calendar;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
public class JAXBTest {
/*
* 1、marshal java object----document 2、gegXMLFromObject 3、unmarshal
* document-----java object
*/
public static void main(String[] args) {
try {
JAXBContext context = JAXBContext.newInstance(Person.class);
* 1、marshal java object----document 2、gegXMLFromObject 3、unmarshal
* document-----java object
*/
public static void main(String[] args) {
try {
JAXBContext context = JAXBContext.newInstance(Person.class);
//gegXMLFromObject(context);
getObjectFromXML(context);
} catch (JAXBException e) {
getObjectFromXML(context);
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
public static void gegXMLFromObject(JAXBContext context) {
try {
// 下面代码演示将对象转变为xml Object------XML
Address address = new Address("China", "tianjin", "tanggu",
"天津科技大学", "100871");
Person p = new Person(Calendar.getInstance(), "zhansan", address,
Gender.MALE, "professor");
try {
// 下面代码演示将对象转变为xml Object------XML
Address address = new Address("China", "tianjin", "tanggu",
"天津科技大学", "100871");
Person p = new Person(Calendar.getInstance(), "zhansan", address,
Gender.MALE, "professor");
// 指定对应的xml文件
FileOutputStream fw = new FileOutputStream("c:/person.xml");
Marshaller m = context.createMarshaller();
FileOutputStream fw = new FileOutputStream("c:/person.xml");
Marshaller m = context.createMarshaller();
// 将对象转换为对应的XML文件
m.marshal(p, fw);
m.marshal(p, fw);
} catch (JAXBException e) {
e.printStackTrace();
} catch (IOException e) {
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void getObjectFromXML(JAXBContext context) {
try {
// 下面代码演示将上面生成的xml转换为对象 XML------Object
FileReader fr = new FileReader("c:/person.xml");
Unmarshaller um = context.createUnmarshaller();
// 下面代码演示将上面生成的xml转换为对象 XML------Object
FileReader fr = new FileReader("c:/person.xml");
Unmarshaller um = context.createUnmarshaller();
Person p2 = (Person) um.unmarshal(fr);
System.out.println("Country:" + p2.getAddress().getCountry());
} catch (FileNotFoundException e) {
System.out.println("Country:" + p2.getAddress().getCountry());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (JAXBException e) {
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
}
}
}
@XmlRootElement
// 表示person是一个根元素
class Person {
// 表示person是一个根元素
class Person {
@XmlAttribute
String name;
String name;
@XmlElement
Calendar birthDay;
Calendar birthDay;
@XmlElement
Address address;
Address address;
@XmlElement
Gender gender;
Gender gender;
@XmlElement
String job;
String job;
public Address getAddress() {
return address;
}
return address;
}
public Person() {
}
}
public Person(Calendar birthDay, String name, Address address,
Gender gender, String job) {
this.birthDay = birthDay;
this.name = name;
this.address = address;
this.gender = gender;
this.job = job;
}
}
Gender gender, String job) {
this.birthDay = birthDay;
this.name = name;
this.address = address;
this.gender = gender;
this.job = job;
}
}
enum Gender {
MALE("male"), FEMALE("female");
MALE("male"), FEMALE("female");
private String name = null;
private Gender(String name) {
this.name = name;
}
this.name = name;
}
@Override
public String toString() {
return name;
}
}
public String toString() {
return name;
}
}
class Address {
@XmlAttribute
String country;
@XmlElement
String state;
@XmlElement
String city;
@XmlElement
String street;
String zipcode;
@XmlAttribute
String country;
@XmlElement
String state;
@XmlElement
String city;
@XmlElement
String street;
String zipcode;
public Address() {
}
}
public Address(String country, String state, String city, String street,
String zipcode) {
this.country = country;
this.state = state;
this.city = city;
this.street = street;
this.zipcode = zipcode;
}
String zipcode) {
this.country = country;
this.state = state;
this.city = city;
this.street = street;
this.zipcode = zipcode;
}
public String getCountry() {
return country;
}
}
return country;
}
}
发表评论
-
选股神器
2022-08-20 15:07 224最近闲来无事,突发奇想,将自己的选股思路自动化,计算机化。。 ... -
rpm安装jdk,设置环境变量
2019-05-12 22:49 6391、将jdk的rpm包拷贝到 ... -
java安全编码
2019-01-18 22:31 487软件安全问题,一般 ... -
生产者消费者
2018-07-01 21:33 433package function.thread; i ... -
打印mybatis的执行语句到控制台和文件
2017-12-13 15:11 819log4j.rootLogger=INFO,CONSOLE, ... -
java中类的加载顺序介绍(ClassLoader)
2017-11-14 11:41 8231、ClassNotFoundExcetpion 我们在 ... -
守护线程
2017-11-13 16:40 439对于线程,有个守护的线程的概念。如何理解呢?比如A线程里,n ... -
类加载机制及反射
2017-09-24 08:45 591一、Java类加载机制 ... -
java+selenium2 自动化测试框架
2017-09-15 09:36 1023package web.selenium2; ... -
JMS实例
2017-08-21 15:40 4831. JMS架构 Java 消息服务(Java M ... -
linux设置java环境
2017-08-07 16:47 456linux配置java环境变量(详细) 一. 解压安装jdk ... -
分布式
2017-07-19 12:12 454转载请注明出处:http://blog.csdn.net/l ... -
tomcat+nginx+redis
2017-07-18 16:46 494应用系统的基本架构: -
java调用远程机器的shell脚本
2017-07-14 12:19 1598此程序的目的是执行远程机器上的Shell脚本。 【环境参数 ... -
生产者消费者进阶(带有condition)
2017-05-09 17:56 593package function.thread; ... -
多线程之 CountDownLatch
2017-05-01 13:01 525package function.thread; ... -
判断服务器类型
2017-04-12 10:52 491开发时一般用tomcat,然后在测试环境发布时使用的是web ... -
IE的不同文本浏览模式页面显示
2017-04-11 14:34 546现象描述:最近在遇到的问题就是在在Chrome,火狐页面都正 ... -
java中Filter、Servlet、Listener的学习
2017-03-29 21:52 4591、Filter的功能filter功能,它使用户可以改变一个 ... -
高并发,线程池
2017-03-29 21:52 11051.高并发的内容 Zookee ...
相关推荐
标题中的"DOM_XML.rar"可能是一个包含DOM解析XML相关示例的压缩文件,"DOM_dom xml_dom xml java_dom解析xml_java解析xml"这部分描述了文件的主要内容,即关于DOM(Document Object Model)在XML解析中的应用,特别...
Java和XML是两种在软件开发中广泛使用的技术。XML(eXtensible Markup Language)是一种标记语言,主要用于存储和传输结构化数据,而Java则是一种面向对象的编程语言,广泛应用于构建各种应用程序,包括Web应用、...
在"xmljava.zip"这个压缩包中,我们可以预想它包含了与使用Java处理XML相关的代码示例或项目。 XML的基本结构由元素、属性、文本内容、注释和处理指令组成。元素是XML文档的核心,它们定义了数据的结构。属性用于为...
早起论文,有关XML Java 异构数据库集成的应用研究,写的挺不错。
java工程源码实现xml和json的互转,工程已包含所jar包:commons-beanutils-1.7.0.jar、commons-collections-3.1.jar、commons-lang-2.5.jar、commons-logging.jar、ezmorph-1.0.3.jar、json-lib-2.4-jdk15.jar、xom-...
java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...
JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理库。它提供了一种在Java应用程序中创建、修改和操作XML文档的方法。在Java编程中,JDOM是XML解析器的一种选择,它允许开发者以面向对象的方式...
此外,"javaxml.r_xml"和"javaxml.r"标签可能指的是Java的JAXB框架,这是一个用于XML绑定的Java标准,可以自动将Java对象映射为XML文档,反之亦然。这大大简化了处理XML数据的过程,尤其是在构建Web服务或需要与XML...
- 使用Apache的JAXB(Java Architecture for XML Binding):JAXB允许将XML绑定到Java对象,然后再将这些对象转换为JSON。 2. JSON到XML转换: - Jackson库同样提供了反向转换功能,使用`writeValueAsString`方法...
除了Java自带的解析库,还有第三方库如JAXB(Java Architecture for XML Binding)用于对象与XML之间的映射,以及DOM4J、XOM等提供更高级别的接口,简化XML处理。 5. 实战应用: 在实际项目中,根据需求选择合适的...
Java作为一种强大的编程语言,提供了丰富的API来处理XML文档,其中Document对象是核心组件之一,它代表了XML文档的内存中的树形结构。 本文档“XML.rar”主要探讨的是如何使用Java的DOM(Document Object Model)...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于Java开发中,用于存储和传输结构化数据。在Java中,处理XML文件主要包括读取和写入两个方面。以下将详细介绍Java如何操作XML文件。 一、XML...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在各种软件开发中,特别是在Java平台上。XML的设计目标是传输和存储数据,而非显示数据,因此它与HTML(HyperText Markup Language)有着本质...
在Java Web开发中,XML(eXtensible Markup Language)是一种常见的数据交换格式,用于存储和传输结构化数据。JSP(JavaServer Pages)作为服务器端动态网页技术,经常需要处理XML文件,如读取XML内容、修改XML数据...
Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...
pom.xml Java资源
在Java编程中,XML与Java的结合使用是相当常见的,尤其是在数据交换、配置文件、以及与数据库交互等方面。这个"xml.rar"压缩包显然包含了一些关于XML在Java环境中的应用实例。 首先,从标题和描述中我们可以推测,...
在Java中,XML被广泛应用于配置文件、数据交换、序列化等领域。本篇文章将深入探讨Java中处理XML的相关知识点,主要关注XML文件的读写操作。 首先,我们要了解XML的基本结构。XML文档由一系列元素构成,每个元素都...
XML(eXtensible Markup Language)是一种用于标记数据的语言,它在Java开发中扮演着重要角色,用于数据交换、配置存储以及序列化等任务。Java提供了丰富的API来处理XML,如DOM、SAX、StAX和JAXB等解析器。本指南将...
Java编程语言提供了强大的支持来处理XML,使得开发者可以方便地在Java应用程序中解析、生成、修改和查询XML文档。本教程“XML Programming in Java”深入浅出地介绍了如何在Java环境中有效利用XML。 1. **Java与XML...