首页 / XML / JAXB解析XML为对象
JAXB解析XML为对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAXB解析XML为对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2666字,纯文字阅读大概需要4分钟。
内容图文
![JAXB解析XML为对象](/upload/InfoBanner/zyjiaocheng/1288/275c9bf38abe4e50a355c2760c78c511.jpg)
JAXB支持注解将XML转化为对象,具体看一个简单的例子:
<?xml version="1.0" encoding="utf-8"?> <Api> <algos> <!-- 算法类型 --> <algo name="YYFY" text="运营费用"> </algo> </algos> </Api>
XML对应的pojo对象:
package com.yss.aval.aa.util.pojo; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; /** * AlgoAPI.xml封装对象 * 此对象仅供解析XML封装数据临时使用 * @author 马向峰 * */ @XmlRootElement(name = "Api") public class AlgoAPIU { /** * 对应节点 algos */ @XmlElement(name = "algos") private AlgosU algos; @XmlTransient public AlgosU getAlgos() { return algos; } public void setAlgos(AlgosU algos) { this.algos = algos; } }
package com.yss.aval.aa.util.pojo; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlTransient; /** * 对应algos节点 * 此对象仅供解析XML封装数据临时使用 * @author 马向峰 * */ public class AlgosU { @XmlElement(name = "algo") private List<AlgoU> list; @XmlTransient public List<AlgoU> getList() { return list; } public void setList(List<AlgoU> list) { this.list = list; } }
package com.yss.aval.aa.util.pojo; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlTransient; /** * 对应AlgoAPI.xml节点的algo * 此对象仅供解析XML封装数据临时使用 * @author 马向峰 * */ public class AlgoU { @XmlAttribute(name = "name") private String name; @XmlAttribute(name = "text") private String text; @XmlElement(name="variables") private VariableAPIU variableAPI; @XmlTransient public VariableAPIU getVariableAPI() { return variableAPI; } public void setVariableAPI(VariableAPIU variableAPI) { this.variableAPI = variableAPI; } @XmlTransient public String getName() { return name; } public void setName(String name) { this.name = name; } @XmlTransient public String getText() { return text; } public void setText(String text) { this.text = text; } }
测试类:
package com.yss.aval.aa.util; import java.io.File; import com.yss.aval.aa.util.pojo.AlgoAPIU; import com.yss.framework.api.util.JAXBProcessor; /** * AlgoAPI.xml解析工具类 * * @author 马向峰 * @Date 20170712 */ public class AlgoAPIXMLParse { /** * 加载并解析AlgoApi.xml */ public static AlgoAPIU load() { JAXBProcessor jProc; try { jProc = new JAXBProcessor(); AlgoAPIU algoAPI = new AlgoAPIU(); algoAPI = (AlgoAPIU) jProc.unMarshal(algoAPI, new File( "D:/AlgoApi.xml")); return algoAPI; } catch (Exception e) { e.getStackTrace(); } return null; } /* * public static void main(String[] args) { AlgoAPIXMLParse api = new * AlgoAPIXMLParse(); api.load(); } */ }
特别注意的是 XML的没一个节点对应一个对象。
原文:http://www.cnblogs.com/blog411032/p/7168908.html
内容总结
以上是互联网集市为您收集整理的JAXB解析XML为对象全部内容,希望文章能够帮你解决JAXB解析XML为对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。