Witam,
Przeglądnąłem internety w zdłuż i wszerz i nie mogę rozwiązać mojego problemu dot. poniższego wyjątku :
Exception in thread "main" javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"upload"). Expected elements are (none)
Będe zobowiązany za każdą pomoc.
Klasa upload.java:
package classes;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="upload")
public class Upload {
@XmlElement(name="token")
private String token;
// private String filename;
// private String description;
// private String contentType;
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
// public String getFilename() {
// return filename;
// }
//
// public void setFilename(String filename) {
// this.filename = filename;
// }
//
// public String getDescription() {
// return description;
// }
//
// public void setDescription(String description) {
// this.description = description;
// }
//
// public String getContentType() {
// return contentType;
// }
//
// public void setContentType(String contentType) {
// this.contentType = contentType;
// }
}
Test.java:
package classes;
import java.io.StringReader;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
public class Test {
public static void main(String[] args) throws JAXBException {
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><upload><token>24.33ba3561b08fbaf554c9dd6db0d615fa</token></upload>";
Upload upload = convertXmlToObject(xml, Upload.class);
}
public static <T>T convertXmlToObject(String xml, Class<T> obj) throws JAXBException {
JAXBContext jaxbContext = JAXBContext.newInstance(obj.getClass());
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
StringReader reader = new StringReader(xml);
T customer = (T) jaxbUnmarshaller.unmarshal(reader);
return customer;
}
}