JavaBean与XML之间的互转.docx_第1页
JavaBean与XML之间的互转.docx_第2页
JavaBean与XML之间的互转.docx_第3页
JavaBean与XML之间的互转.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Myeclipse+jdk1.5以上版本自带JAXB工具(xml和javaBean的转化)JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到 XML实例文档。 JAXBContext 提供了一个入口,通过这个入口可以管理必要的XML/Java绑定信息。客户端应用程序通过newInstance(contextPath)方法得到该类的新实例。contextPath 参数包含一个或多个Java包名,这些Java包就是了JAXB编译器所产生的接口代码所在的Java包。该参数值初始化JAXBContext 对象,使得它能够管理JAXB编译器产生的接口;对于 Marshaller和Unmarshaller,这两个对象主要是用于Java对象和XML文档互相转换的主要接口(Marshaller负责从 Java对象到XML文档的转换,Unmarshaller负责从XML文档到Java对象的转换)。Unmarshaller.unmarshal() 的方法可以直接将一个XML文件里的数据转换成Java对象。实例:import java.io.File;import javax.xml.bind.JAXBContext;import javax.xml.bind.Marshaller;import javax.xml.bind.Unmarshaller;import com.pobasoft.ws.Bean.CheckUserRsBean;import com.pobasoft.ws.Bean.SelectUserIDListBean;import com.pobasoft.ws.Bean.SelectUserIDListRsBean;import com.pobasoft.ws.Interface.ExportEntityIDListInfo;import com.pobasoft.ws.InterfaceImpl.ExportEntityListInfo;public class Test /*XML-JavaBean* public static Object xmltojava(Class cls,File file) throws Exception JAXBContext ctx=JAXBContext.newInstance(cls); /JAXBContext可以创建 Unmarshallers(将XML解析为Java对象) Unmarshaller us=ctx.createUnmarshaller(); return us.unmarshal(file); /*JavaBeanXML* public static void javatoxml(Object obj,File file) throws Exception JAXBContext ctx=JAXBContext.newInstance(obj.getClass(); /JAXBContext可以创建Marshallers(将Java对象转换成XML)Marshaller mar=ctx.createMarshaller(); mar.marshal(obj,file); /测试(CheckUserRsBean是已经创建好的Bean对象)在文件保存的操作代码中,也有对JAXB的操作: private void saveAsFile() . m.marshal(myContainer, new FileOutputStream(filename); . public static void main(String args) throws Exception CheckUserRsBean crb=new CheckUserRsBean(); crb.setKey(abc); javatoxml(crb, new File(C:a.xml); - File f=new File(C:a.xml); CheckUserRsBean crb= (CheckUserRsBean) xmltojava(CheckUserRsBean.class, f); System.out.println(crb.getKey(); 链接:/xcl119xcl/blog/item/eda41dc451d563ce39db49bb.htmlimport java.beans.IntrospectionException;import java.io.IOException;import java.io.StringReader;import java.io.StringWriter;import mons.betwixt.io.BeanReader;import mons.betwixt.io.BeanWriter;import org.xml.sax.SAXException;import com.pobasoft.ws.Bean.SelectUserIDListBean;public class XMLAndBeanUtil /* 将xml字符串转化为对象* * param xmlString* xml字符串* param className* 类得全称(包名+类名)字符串 param cl* 对象的class名称* return 转化成的对象*/public Object xmlString2Object(String xmlString ,String className,Class cl) / 创建一个读取xml文件的流 StringReader xmlReader = new StringReader(xmlString); / 创建一个BeanReader实例,相当于转化器 BeanReader beanReader = new BeanReader(); /配置BeanReader实例 beanReader.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false); beanReader.getBindingConfiguration().setMapIDs(false); /不自动生成ID /注册要转换对象的类,并指定根节点名称 try /beanReader.registerBeanClass(SelectUserIDListBean, SelectUserIDListBean.class);beanReader.registerBeanClass(className,cl); catch (IntrospectionException e1) / TODO Auto-generated catch blocke1.printStackTrace(); / 将XML解析Java Object Object obj = null; try obj = beanReader.parse(xmlReader); catch (IOException e) e.printStackTrace(); catch (SAXException e) e.printStackTrace(); return obj;/* 将对象转换为xml字符串*/public String Object2XmlString(Object object) String xmlString = null; / 创建一个输出流,将用来输出Java转换的XML文件 StringWriter outputWriter = new StringWriter(); / 输出XML的文件头 outputWriter.write(n); / 创建一个BeanWriter实例,并将BeanWriter的输出重定向到指定的输出流 BeanWriter beanWriter = new BeanWriter(outputWriter); / 配置BeanWriter对象 beanWriter.getXMLIntrospector().getConfiguration() .setAttributesForPrimitives(false); beanWriter.getBindingConfiguration().setMapIDs(false); beanWriter.setWriteEmptyElements(false); try beanW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论