将xml表示为java类
可能这个问题可能会被问到.我是将xml转换为
java类的新手.
我有一个像这样的xml: <Root> <Book name="harel" price="5" /> <Book name="xml" price="9" /> </Root> 有没有办法为这样的结构动态生成java类? 解决方法
注意:我是
EclipseLink JAXB (MOXy)领导者,也是
JAXB (JSR-222)专家组的成员.
JAXB实现提供了从XML模式生成Java模型的能力.从Java SE 6开始的JDK中包含的参考实现可在以下位置获得: <JAVA_HOME>/bin/xjc 可以在此处找到从XML模式生成对象模型的示例: > http://blog.bdoughan.com/2010/09/processing-atom-feeds-with-jaxb.html
如果您没有XML模式,您可以找到一个实用程序来从XML文档生成XML模式: > Any tools to generate an XSD schema from an XML instance document? 或者从代码开始. 从代码开始 您还可以从代码开始并注释模型以映射到现有的XML结构. 根 package forum11213872; import java.util.List; import javax.xml.bind.annotation.*; @XmlRootElement(name="Root") @XmlAccessorType(XmlAccessType.FIELD) public class Root { @XmlElement(name="Book") private List<Book> books; } 书 package forum11213872; import javax.xml.bind.annotation.*; @XmlAccessorType(XmlAccessType.FIELD) public class Book { @XmlAttribute private String name; @XmlAttribute private int price; } 演示 package forum11213872; import java.io.File; import javax.xml.bind.*; public class Demo { public static void main(String[] args) throws Exception { JAXBContext jc = JAXBContext.newInstance(Root.class); Unmarshaller unmarshaller = jc.createUnmarshaller(); File xml = new File("src/forum11213872/input.xml"); Root root = (Root) unmarshaller.unmarshal(xml); Marshaller marshaller = jc.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true); marshaller.marshal(root,System.out); } } input.xml中/输出 <Root> <Book name="harel" price="5" /> <Book name="xml" price="9" /> </Root> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 防止第三方组件的异常崩溃整个应用程序
- ajax传输json到后台
- 用TinyXml做XML解析示例 TinyXml查找唯一节点及修改节点操作
- 数组 – 如何初始化一个数组在Swift?
- oracle – PL / SQL Append_Values提示提供错误消息
- Cocos2d-x结合Cocosbuilder开发游戏大致流程
- 用C# 控制Windows系统音量的实现方法
- flash – 如何使用StageScaleMode.SHOW_ALL获取舞台尺寸?
- SWFUpload 2.5.0版 官方说明文档 中文翻译版
- Sqlite中的rowid字段和integer primary key autoincrement的