简单的使用JAXBContext进行object和xml之间的转换:
JAXBContext context = JAXBContext.newInstance(clazz);
// 进行将Xml转成对象的核心接口
Unmarshaller unmarshaller = context.createUnmarshaller();
StringReader sr = new StringReader(xmlStr);
xmlObject = unmarshaller.unmarshal(sr);
使用javax.xml注解进行xml节点与object属性的对应取值:
@XmlAccessorType(XmlAccessType.FIELD)//xml访问类型
@XmlRootElement(name="data")//根节点名称
public class bean{
@XmlTransient//不参与解析xml
private Long id;
@XmlElement(name="name")//属性对应节点名称
@NotBlank //validated验证不为空
@Length(max=50) //validated验证字段长度
private String graName;
}
这里演示的是非嵌套xml可以直接使用,意思是xml类型为:
<data>
<name>www</name>
<ege>14</ege>
</data>
若xml为嵌套xml:
<data>
<name>www</name>
<ege>14</ege>
<mark>
<addred>jojo</addred>
</mark>
</data>
则只需将每一层都写一个bean即可