JAXB のアノテーション
`# | `アノテーション | 説明 |
1 | @XmlRootElement | XMLのルート要素であることを指定 |
2 | @XmlSeeAlso | このクラスをバインドするときに他のクラスもバインドすることを指定 |
3 | @XmlElement | 現在のクラスをバインディングする際に他のクラスをバインドする |
4 | @XmlAccessorType | フィールド,プロパティの対応を決定する |
5 | @XmlAttribute | XML 属性にマップする |
6 | @XmlElementWrapper | 主に、コレクションに関わるラッパー XML 要素を生成するために使用される |
7 | @XMLMimeType | プロパティーの XML 表現を制御する MIME 型を関連付ける |
サンプル
* 以下の関連記事を参照のことhttps://blogs.yahoo.co.jp/dk521123/37149853.html
[01] @XmlRootElement
API仕様
https://docs.oracle.com/javase/jp/6/api/javax/xml/bind/annotation/XmlRootElement.html例
@XmlRootElement(name="Name") public class Name {XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Name> <!-- 省略 --> </Name>
[02] @XmlSeeAlso
API仕様
https://docs.oracle.com/javase/jp/6/api/javax/xml/bind/annotation/XmlSeeAlso.html[03] @XmlElement
API仕様
https://docs.oracle.com/javase/jp/6/api/javax/xml/bind/annotation/XmlElement.html[04] @XmlAccessorType
API仕様
https://docs.oracle.com/javase/jp/6/api/javax/xml/bind/annotation/XmlAccessorType.html[05] @XmlAttribute
API仕様
https://docs.oracle.com/javase/jp/6/api/javax/xml/bind/annotation/XmlAttribute.html使い方
* XmlAttribute アノテーションを、属性と紐付けたいフィールドの getterメソッド に付与する。例
@XmlRootElement(name="Name") public class Name { // 略 @XmlAttribute(name="LastName") public String getLast() { return this.last; } // 略XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Name LastName="Smith" ...
[06] @XmlElementWrapper
API仕様
https://docs.oracle.com/javase/jp/6/api/javax/xml/bind/annotation/XmlSeeAlso.htmlサンプル
Javaクラス@XmlRootElement(name="Name") public class Name { // 略 @XmlElementWrapper(name="list") @XmlElement(name="nickName") public List<String> getNickNames() { return this.nickNames; } // 略XML
<Name LastName="Smith" FirstName="John"> <list> <nickName>John-san</nickName> <nickName>John-chan</nickName> </list> </Name>
その他参考文献
http://tomoyamkung.net/2014/01/17/java-jaxb-marshal-xml-element-wrapper/[07] @XMLMimeType
API仕様
https://docs.oracle.com/javase/jp/6/api/javax/xml/bind/annotation/XmlMimeType.htmlその他参考文献
http://itdoc.hitachi.co.jp/manuals/link/cosmi_v0870/APWK/EU310253.HTM参考文献
http://itpro.nikkeibp.co.jp/article/COLUMN/20080620/308966/http://d.hatena.ne.jp/tanakakns/20150312/1426164639
http://otndnld.oracle.co.jp/document/products/wls/docs103/webserv/data_types.html
http://qiita.com/opengl-8080/items/f7112240c72d61d4cdf4
http://murayama.hatenablog.com/entry/20100829/1283051083