当前位置: 首页 > 知识库问答 >
问题:

XML解组到java对象

温亮
2023-03-14

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>

我为电影和图像创建了pojo类。

Film.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
}

形象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方法中,我添加了@xmlement(name=“Image”)。

在Image类中,我添加了一个注释@XmlRootElement(name=“Image”),它提供了我想要的东西。

共有2个答案

刁文光
2023-03-14

尝试将数组转换为dublicating类的列表(对我有用)

正如我看到字节[]-

越鸿才
2023-03-14

让用例正常工作所需的唯一一件事是在Film类上添加@XmlRootElement注释:

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="Film")
public class Film {
    private String film_id;
    private String title;
    private String description;
    private String length;
    private String image_id;
    private Image image;
}

解决方案的另一部分

在Image的getter方法中,我添加了@xmlement(name=“Image”)。

在Image类中,我添加了一个注释@XmlRootElement(name=“Image”),它提供了我想要的东西。

这两个步骤都不需要映射您的特定用例。

 类似资料:
  • 问题内容: 我正在使用Internet上将对象编组为XML文件的API。鉴于XSD文件也可用,所以我希望一旦下载文件就可以将它们解编回到Java对象中。 环顾四周后,看起来JAXB是用Java进行此操作的默认库,但是当我开发移动应用程序时,额外的8.6MB依赖性是不可接受的。我还找到了XStream,但它仍然重达7.9MB。 看看Android SDK,看起来唯一可用的真正XML解析器是SAX。

  • 我有下面的,我试图使用JAXB将其转换为Java对象。我在这里得到空值,请指导我这里缺少什么或做错了什么。 我不熟悉 JAXB 和命名空间

  • 我在使用Excel打开xml文件时遇到了一点问题。客户机向我发送了以下类型的XML: 但是,当它到达:时,它会抛出以下错误: 我对如何处理这种类型的文件有点困惑,我尝试将扩展名从。xml更改为。xls,Excel可以用两种方式完美地打开它,但Apache POI不接受它,我不确定是文件的问题还是我如何用InputStream读取它。

  • 我一直试图将xml(作为字符串)解组到一个对象,但它返回了一个NullPointerException错误。我花了一周时间寻找解决方案,但似乎什么都没用。我已经多次修改了“unmarshallpacs008”方法和“Spienvelessage”类,尝试了我在论坛上找到的其他东西。 在调试代码时,我看到错误发生在“unmarshaller.unmarshal”点,在该点上,“SpinevelMes

  • 我试图将我下面的xml转换为java对象。 这是我的xml: 我需要在"提供者组织"下获取"name"的值。下面是我Java课。 诊所ocument.java 记录目标。JAVA 病人ole.java 供应商组织。JAVA XMLFileParserSAXUtility.java 我得到的结果是 如果我尝试打印syso(临床文件); 结果是临床文档[recordTarget=null] 请帮帮我!

  • 当试图将我的soap XML解组到JAXB对象时,我得到了下面的错误。 我们得到的错误是预期元素为无。在解组SOAP XML时应该做任何特定的事情。 我收到以下错误: 下面是示例 XML 请帮忙。