public static Object getRootObjec(String xmlStr,Class obj) throws Exception{
StringBuffer xml=new StringBuffer();
String str=xmlStr.substring(0, 6);
if(!str.equals("<root>")){//如果没有<root>节点就添加
xml.append("<root>");
xml.append(xmlStr);
xml.append("</root>");
}else{
xml.append(xmlStr);
}
JAXBContext context = JAXBContext.newInstance(obj);
Unmarshaller unmarshaller = context.createUnmarshaller();
return unmarshaller.unmarshal(new StringReader(xml.toString()));
}
新建一个类Root.java
@XmlRootElement
public class Root {
public Root(){//必须添加一个无参的构造方法
super();
}
/**
定义类或属性实现getter和setter方法
**/
}
Root root=(Root) XmlUtil. getRootObjec(xmlStr,Root.class);