【发布时间】:2012-04-21 09:43:26
【问题描述】:
XML 响应
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <Film>
<film_id>1</film_id>
<title>ACADEMY DINOSAUR</title>
<description>xxx</description>
<length>86</length>
<image_id>1</image_id>
- <image>
<image_id>1</image_id>
<name>1.jpg</name>
<size>408307</size>
<type>.jpg</type>
<content>base64 byte</content>
</image>
</Film>
我已经为 Film 和 Image 创建了 pojo 类。
电影.java
public class Film {
private String film_id;
private String title;
private String description;
private String length;
private String image_id;
private Image image;
//setter and getter methods
}
Image.java
public class Image {
private int image_id;
private String name;
private int size;
private String type;
private byte[] content;
//setter and getter methods
}
请帮助我是新手,我应该使用 JAXB。
解决方案:
我已经添加了
@XmlRootElement(name = "film")
public class Film {
private int film_id;
private String title;
private String description;
private int length;
private int image_id;
private Image image;
}
在Image的getter方法上,我添加了@XMLElement(name="image")。
在 Image 类上,我添加了注释 @XmlRootElement(name = "image"),这给了我想要的。
【问题讨论】:
-
意外元素(uri:“”,本地:“电影”)。预期的元素是(无).....这是我尝试时遇到的错误。 public void unmarshaling(String output) throws JAXBException { InputStream is = new StringBufferInputStream(output); JAXBContext jc = JAXBContext.newInstance(Film.class);解组器 u = jc.createUnmarshaller();电影film = (Film) u.unmarshal(is);
-
你为什么不编辑你的问题而不是写难以阅读的 cmets?
标签: java xml jaxb unmarshalling