1

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") を追加しました。これにより、必要なものが得られます。

4

2 に答える 2

1

ユースケースを機能させるために必要なのは、クラス@XmlRootElementにアノテーションを追加することだけです。Film

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メソッドに、@ XMLElement(name = "image")を追加しました。

Imageクラスに、アノテーション@XmlRootElement(name = "image")を追加しました。これにより、必要なものが得られます。

特定のユースケースをマッピングするために、これらの手順はどちらも必要ありません。

于 2012-04-09T09:55:19.187 に答える
-2

配列を複製クラスのリストに変換してみてください(私にとってはうまくいきました)

私が見るように byte[] -> List < Byte>

于 2013-01-31T15:56:01.487 に答える