XML与JAVA对象之间的相互转换

      jdk中默认提供了一个JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式.使用起来极其的方便。

      先看一下JAXB的源码注释

      

Class that defines convenience methods for common, simple use of JAXB.
Methods defined in this class are convenience methods that combine several basic operations in the JAXBContext, Unmarshaller, and Marshaller. They are designed to be the prefered methods for developers new to JAXB. They have the following characterstics:
Generally speaking, the performance is not necessarily optimal. It is expected that people who need to write performance critical code will use the rest of the JAXB API directly.
Errors that happen during the processing is wrapped into DataBindingException (which will have JAXBException as its cause. It is expected that people who prefer the checked exception would use the rest of the JAXB API directly.
In addition, the unmarshal methods have the following characteristic:
Sche
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java,可以使用一些库来实现xml、OMElement和Java对象之间相互转换,以下是一些常见的库和示例: 1. JAXB(Java Architecture for XML Binding):JAXB可以将Java对象序列化为XML文档,也可以将XML文档反序列化为Java对象。示例代码如下: ```java // 将Java对象转换XML文档 JAXBContext jaxbContext = JAXBContext.newInstance(Student.class); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(student, new File("student.xml")); // 将XML文档转换Java对象 JAXBContext jaxbContext = JAXBContext.newInstance(Student.class); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); Student student = (Student) unmarshaller.unmarshal(new File("student.xml")); ``` 2. Axiom:Axiom是一个轻量级的XML对象模型,可以将OMElement和Java对象相互转换。示例代码如下: ```java // 将Java对象转换为OMElement OMFactory factory = OMAbstractFactory.getOMFactory(); OMElement studentElement = AxiomHelper.toOMElement(factory, student); // 将OMElement转换Java对象 Student student = AxiomHelper.fromOMElement(studentElement, Student.class); ``` 3. XStream:XStream是一个快速、简单的Java对象序列化和反序列化库,可以将Java对象序列化为XML文档,也可以将XML文档反序列化为Java对象。示例代码如下: ```java // 将Java对象转换XML文档 XStream xstream = new XStream(); xstream.alias("student", Student.class); String xml = xstream.toXML(student); // 将XML文档转换Java对象 XStream xstream = new XStream(); xstream.alias("student", Student.class); Student student = (Student) xstream.fromXML(xml); ``` 以上是一些常见的库和示例,具体使用哪个库取决于实际需求和个人喜好。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值