如何解析xml到java对象?

我有一个用于配置一些规则的XML,它没有复杂的结构,但是这个配置是在我系统的任何地方使用的,所以我想解析这个XML到java对象和设计为单例模式,可以使用它直接将XML解密到Java对象,而不需要多写代码?

我做了一些关于Google的研究,知道JAXB是一个选择,我的应用只是一些读取规则的工具程序,然后遵循做事情,JAXB可以更广泛地用于Web服务,它适合我的项目?

如果是,最重要的问题是,我使用xjc根据xsd文件生成Java对象源类,在解组后我将直接获取这些configurationType对象,是否有必要再次转换(从JaxB类到我拥有的java pojo对象配置),我看到大多数编码器做了这个,但为什么?因为他们是一些数据,只是从对象生成到JAXB并复制到我们自己创建的POJO对象

JAXB是一个理想的解决方案。但是您不一定需要xsd和xjc。通常你没有xsd,但你知道你的xml是什么。简单分析你的xml,例如,
<customer id="100">
    <age>29</age>
    <name>mkyong</name>
</customer>

创建必要的模型类(es):

@XmlRootElement
public class Customer {

    String name;
    int age;
    int id;

    public String getName() {
        return name;
    }

    @XmlElement
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    @XmlElement
    public void setAge(int age) {
        this.age = age;
    }

    public int getId() {
        return id;
    }

    @XmlAttribute
    public void setId(int id) {
        this.id = id;
    }

}

尝试解散:

JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Customer customer = (Customer) jaxbUnmarshaller.unmarshal(new File("C:\\file.xml"));

检查结果,修复错误!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇