xml解析系列(二)——用Marshaller和Unmarshaller解析xml
来源:互联网 发布:文玩淘宝店 编辑:程序博客网 时间:2024/06/08 19:32
常用标签
这是jdk1.6中自带的xml解析器,它可以通过配置的方式,将java对象和xml的节点映射起来,形成java对象和xml的方便的转换。
常用注解
@XmlRootElement 作用于类,表示该类与xml的主节点映射,
常用参数
name : 主节点标签名,默认与类名首字母小写一致。
@XmlElement 作用于属性的getset方法,表示该属性与节点对应,属性可以是List,也可以是普通Object。
常用参数
name : 映射的节点标签名
@XmlElement(name = "channel")public List<Channel> getChannel() { return channel;}
@XmlAccessorType 作用于类,将类属性和对于xml节点自动映射,和@XmlElement一起使用会发生冲突
XmlElementWrapper 还是类的两个属性具有相同名称 "XXX"
@XmlAttribute 作用于属性的get|set方法,表示类属性与xml该节点的属性对应
常用参数
name : 属性名
@XmlElementWrapper 作用于属性或其get|set方法,使javabean转xml会自动加上一个包装的标签,
如
<BODY> <ANQI>00001</ANQI> <ANQI>00002</ANQI> <ANQI>00003</ANQI></BODY>
@XmlElementWrapper(name=”BODY”)@XmlElement(name = "ANQI")public String getAnqi(){ return anqi;}
@XmlValue 标签的text
XML和javabean相互转换
public static <T> T xmlToBean(String xml, T t) throws JAXBException{ JAXBContext context = JAXBContext.newInstance(t.getClass()); Unmarshaller um =context.createUnmarshaller(); StringReader sr = new StringReader(xml); t = (T)um.unmarshal(sr); return t;}
public static String objectToXML(Class clazz, Objectobject) throws JAXBException{ String xml = null; JAXBContext context = JAXBContext.newInstance(clazz); Marshaller m =context.createMarshaller(); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); Writer w = new StringWriter(); m.marshal(object, w); xml = w.toString(); return xml;}
阅读全文
0 0
- xml解析系列(二)——用Marshaller和Unmarshaller解析xml
- marshaller、unmarshaller解析xml及读取xml
- xml解析系列(一)——用dom4j解析xml
- Marshaller和Unmarshaller用法示例
- 详解XML解析(二)—DOM4J
- Android XML文档解析(二)——DOM解析
- XML解析:二、Dom解析
- xml解析,hashmap解析二层xml
- XML解析(二),DOM解析XML
- XML解析二 使用DOM解析XML
- sax解析xml(二)
- android xml解析(二)
- AndroidManifest.xml解析(二)
- php解析xml二
- AndroidManifest.xml解析(二)
- 二、SAX解析XML
- xml的解析二
- 【二】、xml解析
- 1064. 朋友数(20)
- Oracle创建用户、指定表空间、导入表、删除用户、删除表空间
- opencv之分水岭算法分割及图像修补
- Leetcode-401. Binary Watch
- JAVA 对象序列化(一)——Serializable
- xml解析系列(二)——用Marshaller和Unmarshaller解析xml
- 英语语法
- Python实现二叉树
- QQ应用自动登录最小化功能
- android 目录
- oracle学习之:CONNECT BY层次化查询
- NIO Channel
- 初学python--认识装饰器
- 图像处理算法工程师面试题