{"id":1210,"date":"2021-03-17T16:57:09","date_gmt":"2021-03-17T07:57:09","guid":{"rendered":"https:\/\/www.opentone.co.jp\/ot-lab\/?p=1210"},"modified":"2025-05-12T10:06:14","modified_gmt":"2025-05-12T01:06:14","slug":"tag-wrap-xml","status":"publish","type":"post","link":"https:\/\/www.opentone.co.jp\/ot-lab\/all\/web-system\/tag-wrap-xml","title":{"rendered":"\u30bf\u30b0\u304c\u30e9\u30c3\u30d7\u3055\u308c\u3066\u3044\u308bXML\u3092\u8aad\u307f\u8fbc\u3080"},"content":{"rendered":"\n<p>\u3053\u3093\u306b\u3061\u306f\u3002kk\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3061\u3087\u3063\u3068XML\u3092\u8aad\u307f\u8fbc\u3080\u6a5f\u4f1a\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u4eca\u56de\u306f\u305d\u306e\u4e2d\u3067\u5c11\u3057\u30cf\u30de\u3063\u305f\u6240\u3068\u305d\u306e\u5bfe\u5fdc\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>XML\u2192\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u5909\u63db\u306fJAXB\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<br><a href=\"https:\/\/docs.oracle.com\/javase\/jp\/8\/api\/javax\/xml\/bind\/JAXB.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.oracle.com\/javase\/jp\/8\/api\/javax\/xml\/bind\/JAXB.html<\/a><br><a href=\"https:\/\/ja.wikipedia.org\/wiki\/Java_Architecture_for_XML_Binding\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ja.wikipedia.org\/wiki\/Java_Architecture_for_XML_Binding<\/a><\/p>\n\n\n\n<p>\u307e\u305a\u306f\u7c21\u5358\u306aXML\u306e\u5909\u63db<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>ReadXmlSample.java<\/li><\/ul>\n\n\n\n<p>JAXB.unmarshal \u3092\u4f7f\u3046\u3053\u3068\u306b\u3088\u308a\u3001XML\u304b\u3089Java\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3078\u30de\u30c3\u30d4\u30f3\u30b0\u3057\u3066\u304f\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[java]\npackage jp.co.opentone.kikuchi.sample.xml;\n\nimport java.io.StringReader;\n\nimport javax.xml.bind.JAXB;\n\npublic class ReadXmlSample {\n\n    public static void main(String[] args) {\n\n        \/\/ XML\u30c7\u30fc\u30bf\n        String xml = \"&lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?&gt;\"\n                + \"&lt;data&gt;\"                          \/\/ \u30c7\u30fc\u30bf\u60c5\u5831\n                + \"  &lt;dataID&gt;1&lt;\/dataID&gt;\"            \/\/ \u30c7\u30fc\u30bfID\n                + \"  &lt;dataName&gt;\u3067\u30fc\u305f\uff11&lt;\/dataName&gt;\" \/\/ \u30c7\u30fc\u30bf\u540d\n                + \"&lt;\/data&gt;\"\n                + \"\";\n\n        SampleData data = JAXB.unmarshal(new StringReader(xml), SampleData.class);\n        System.out.println(data.toString());\n    }\n}\n[\/java]<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>SampleData.java<\/li><\/ul>\n\n\n\n<p>data \u3092\u30de\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u30af\u30e9\u30b9\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[java]\npackage jp.co.opentone.kikuchi.sample.xml;\n\nimport javax.xml.bind.annotation.XmlAccessType;\nimport javax.xml.bind.annotation.XmlAccessorType;\nimport javax.xml.bind.annotation.XmlElement;\nimport javax.xml.bind.annotation.XmlRootElement;\n\n@XmlAccessorType(XmlAccessType.FIELD)\n@XmlRootElement(name = \"data\")\npublic class SampleData {\n\n    @XmlElement(name = \"dataID\")\n    private int dataId;\n\n    @XmlElement(name = \"dataName\")\n    private String dataName;\n\n    \/\/ \u7565\n}\n[\/java]<\/pre>\n\n\n\n<p>\u51fa\u529b\u7d50\u679c\u306f\u3053\u3061\u3089\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[text]\nSampleData [dataId=1, dataName=\u3067\u30fc\u305f\uff11]\n[\/text]<\/pre>\n\n\n\n<p>\u7c21\u5358\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<p>\u6b21\u306b\u3001data\u304c\u8907\u6570\u3042\u308b\u5834\u5408\u2026<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>ReadXmlSample.java<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">[java]\npackage jp.co.opentone.kikuchi.sample.xml;\n\nimport java.io.StringReader;\n\nimport javax.xml.bind.JAXB;\n\npublic class ReadXmlSample {\n\n    public static void main(String[] args) {\n\n        \/\/ XML\u30c7\u30fc\u30bf\n        String xml = \"&lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?&gt;\"\n                + \"&lt;dataList&gt;\"\n                + \"  &lt;data&gt;\"                          \/\/ \u30c7\u30fc\u30bf\u60c5\u5831\n                + \"    &lt;dataID&gt;1&lt;\/dataID&gt;\"            \/\/ \u30c7\u30fc\u30bfID\n                + \"    &lt;dataName&gt;\u3067\u30fc\u305f\uff11&lt;\/dataName&gt;\" \/\/ \u30c7\u30fc\u30bf\u540d\n                + \"  &lt;\/data&gt;\"\n                + \"  &lt;data&gt;\"\n                + \"    &lt;dataID&gt;2&lt;\/dataID&gt;\"\n                + \"    &lt;dataName&gt;\u3067\u30fc\u305f\uff12&lt;\/dataName&gt;\"\n                + \"  &lt;\/data&gt;\"\n                + \"  &lt;data&gt;\"\n                + \"    &lt;dataID&gt;3&lt;\/dataID&gt;\"\n                + \"    &lt;dataName&gt;\u3067\u30fc\u305f\uff13&lt;\/dataName&gt;\"\n                + \"  &lt;\/data&gt;\"\n                + \"&lt;\/dataList&gt;\"\n                + \"\";\n\n        SampleResponse response = JAXB.unmarshal(new StringReader(xml), SampleResponse.class);\n        for (SampleData data: response.getDataList()) {\n            System.out.println(data.toString());\n        }\n    }\n}\n[\/java]<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>SampleResponse.java<\/li><\/ul>\n\n\n\n<p>dataList \u3092\u30de\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u30af\u30e9\u30b9\u3067\u3059\u3002\u203bdata \u306e List<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[java]\npackage jp.co.opentone.kikuchi.sample.xml;\n\nimport java.util.List;\n\nimport javax.xml.bind.annotation.XmlAccessType;\nimport javax.xml.bind.annotation.XmlAccessorType;\nimport javax.xml.bind.annotation.XmlElement;\n\n@XmlAccessorType(XmlAccessType.FIELD)\npublic class SampleResponse {\n\n    \/\/ \u3053\u3053\u3067\u6307\u5b9a\u3059\u308b\u8981\u7d20\u306f\u3001dataList \u3067\u306f\u7121\u304f\u3001data\n    @XmlElement(name = \"data\")\n    List&lt;SampleData&gt; dataList;\n\n    \/\/ \u7565\n}\n[\/java]<\/pre>\n\n\n\n<p>\u203bSampleData.java \u306f\u5909\u66f4\u7121\u3057<\/p>\n\n\n\n<p>\u51fa\u529b\u7d50\u679c\u306f\u3053\u3061\u3089\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[text]\nSampleData [dataId=1, dataName=\u3067\u30fc\u305f\uff11]\nSampleData [dataId=2, dataName=\u3067\u30fc\u305f\uff12]\nSampleData [dataId=3, dataName=\u3067\u30fc\u305f\uff13]\n[\/text]<\/pre>\n\n\n\n<p>\u51fa\u6765\u3066\u307e\u3059\u306d\u3002<\/p>\n\n\n\n<p>\u6700\u5f8c\u306b\u3001\u4e00\u756a\u5916\u5074\u30921\u3064\u306e\u30bf\u30b0\u3067\u304f\u304f\u308a\u3001\u305d\u306e\u4e2d\u306b\u8907\u6570\u8981\u7d20\u304c\u6709\u308a\u3001\u304b\u3064\u30ea\u30b9\u30c8\u306b\u306a\u3063\u3066\u3044\u308b\u5834\u5408\uff08\u65e5\u672c\u8a9e\u3060\u3068\u5206\u304b\u308a\u306b\u304f\u3044\u306e\u3067\u30c7\u30fc\u30bf\u53c2\u7167\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>ReadXmlSample.java<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">[java]\npackage jp.co.opentone.kikuchi.sample.xml;\n\nimport java.io.StringReader;\n\nimport javax.xml.bind.JAXB;\n\npublic class ReadXmlSample {\n\n    public static void main(String[] args) {\n\n        \/\/ XML\u30c7\u30fc\u30bf\n        String xml = \"&lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?&gt;\"\n                + \"&lt;response&gt;\"                          \/\/ \u30ec\u30b9\u30dd\u30f3\u30b9\u60c5\u5831\n                + \"  &lt;result&gt;\"                          \/\/ \u7d50\u679c\u60c5\u5831\n                + \"    &lt;status&gt;1&lt;\/status&gt;\"              \/\/ \u51e6\u7406\u7d50\u679c\u30b9\u30c6\u30fc\u30bf\u30b9\n                + \"    &lt;count&gt;3&lt;\/count&gt;\"                \/\/ \u53d6\u5f97\u4ef6\u6570\n                + \"  &lt;\/result&gt;\"\n                + \"  &lt;dataList&gt;\"                           \/\/ \u30c7\u30fc\u30bf\u60c5\u5831\u306e\u30ea\u30b9\u30c8\n                + \"    &lt;data&gt;\"                          \/\/ \u30c7\u30fc\u30bf\u60c5\u5831\n                + \"      &lt;dataID&gt;1&lt;\/dataID&gt;\"            \/\/ \u30c7\u30fc\u30bfID\n                + \"      &lt;dataName&gt;\u3067\u30fc\u305f\uff11&lt;\/dataName&gt;\" \/\/ \u30c7\u30fc\u30bf\u540d\n                + \"    &lt;\/data&gt;\"\n                + \"    &lt;data&gt;\"\n                + \"      &lt;dataID&gt;2&lt;\/dataID&gt;\"\n                + \"      &lt;dataName&gt;\u3067\u30fc\u305f\uff12&lt;\/dataName&gt;\"\n                + \"    &lt;\/data&gt;\"\n                + \"    &lt;data&gt;\"\n                + \"      &lt;dataID&gt;3&lt;\/dataID&gt;\"\n                + \"      &lt;dataName&gt;\u3067\u30fc\u305f\uff13&lt;\/dataName&gt;\"\n                + \"    &lt;\/data&gt;\"\n                + \"  &lt;\/dataList&gt;\"\n                + \"&lt;\/response&gt;\"\n                + \"\";\n\n        SampleResponse response = JAXB.unmarshal(new StringReader(xml), SampleResponse.class);\n        System.out.println(response.getResult().toString());\n        for (SampleData data: response.getDataList()) {\n            System.out.println(data.toString());\n        }\n    }\n}\n[\/java]<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>SampleResult.java<\/li><\/ul>\n\n\n\n<p>result \u8981\u7d20\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u7528\u30af\u30e9\u30b9\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[java]\npackage jp.co.opentone.kikuchi.sample.xml;\n\nimport javax.xml.bind.annotation.XmlAccessType;\nimport javax.xml.bind.annotation.XmlAccessorType;\nimport javax.xml.bind.annotation.XmlElement;\nimport javax.xml.bind.annotation.XmlRootElement;\n\n@XmlAccessorType(XmlAccessType.FIELD)\n@XmlRootElement(name = \"result\")\npublic class SampleResult {\n\n    @XmlElement(name = \"status\")\n    private int status;\n\n    @XmlElement(name = \"count\")\n    private int count;\n\n    \/\/ \u7565\n}\n[\/java]<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>SampleResponse.java<\/li><\/ul>\n\n\n\n<p>result \u306e\u8ffd\u52a0\u3068\u3001dataList \u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u5bfe\u3057\u3066 @XmlElementWrapper \u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u4ed8\u52a0\u3057\u307e\u3059\u3002<br>@XmlElementWrapper \u306b\u6307\u5b9a\u3059\u308b name \u306f\u3001dataList \u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[java]\npackage jp.co.opentone.kikuchi.sample.xml;\n\nimport java.util.List;\n\nimport javax.xml.bind.annotation.XmlAccessType;\nimport javax.xml.bind.annotation.XmlAccessorType;\nimport javax.xml.bind.annotation.XmlElement;\nimport javax.xml.bind.annotation.XmlElementWrapper;\nimport javax.xml.bind.annotation.XmlRootElement;\n\n@XmlAccessorType(XmlAccessType.FIELD)\n@XmlRootElement(name = \"response\")\npublic class SampleResponse {\n\n    @XmlElement(name = \"result\")\n    SampleResult result;\n\n    \/\/ dataList \u306e\u540d\u524d\u3067 @XmlElementWrapper \u3092\u4ed8\u52a0\n    @XmlElementWrapper(name = \"dataList\")\n    @XmlElement(name = \"data\")\n    List&lt;SampleData&gt; dataList;\n\n    \/\/ \u7565\n}\n[\/java]<\/pre>\n\n\n\n<p>\u203bSampleData.java \u306f\u5909\u66f4\u7121\u3057<\/p>\n\n\n\n<p>\u51fa\u529b\u7d50\u679c\u306f\u3053\u3061\u3089\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[text]\nSampleResult [status=1, count=3]\nSampleData [dataId=1, dataName=\u3067\u30fc\u305f\uff11]\nSampleData [dataId=2, dataName=\u3067\u30fc\u305f\uff12]\nSampleData [dataId=3, dataName=\u3067\u30fc\u305f\uff13]\n[\/text]<\/pre>\n\n\n\n<p>\u30bf\u30b0\u69cb\u6210\u3068\u3057\u3066\u3001<br>response<br>\u2514dataList<br>\u3000\u2514data<br>\u3068\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001@XmlElementWrapper \u3067 dataList \u3092\u6307\u5b9a\u3057\u306a\u3044\u3068\u6b63\u5e38\u306b\u8aad\u307f\u8fbc\u3081\u306a\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002<br>\u203b\u4eca\u56de\u3061\u3087\u3063\u3068\u30cf\u30de\u3063\u305f\u7b87\u6240<\/p>\n\n\n\n<p>\u4ee5\u4e0a\u3001\u30bf\u30b0\u304c\u30e9\u30c3\u30d7\u3055\u308c\u3066\u3044\u308b\u72b6\u614b\u3067\u306e\u5bfe\u5fdc\u65b9\u6cd5\u3067\u3057\u305f\u3002<\/p>\n<div class=\"opent-_2\" style=\"margin-top: 10px;margin-right: 10px;margin-bottom: 10px;margin-left: 10px;\" id=\"opent-3936167319\"><a href=\"https:\/\/www.opentone.co.jp\/backlog\/\" aria-label=\"twitter_backlogskt_new\"><img src=\"https:\/\/www.opentone.co.jp\/ot-lab\/wp-content\/uploads\/sites\/11\/2023\/02\/twitter_backlogskt_new.jpg\" alt=\"\"  srcset=\"https:\/\/www.opentone.co.jp\/ot-lab\/wp-content\/uploads\/sites\/11\/2023\/02\/twitter_backlogskt_new.jpg 1024w, https:\/\/www.opentone.co.jp\/ot-lab\/wp-content\/uploads\/sites\/11\/2023\/02\/twitter_backlogskt_new-300x157.jpg 300w, https:\/\/www.opentone.co.jp\/ot-lab\/wp-content\/uploads\/sites\/11\/2023\/02\/twitter_backlogskt_new-768x401.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" width=\"384\" height=\"200\"   \/><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\u3002kk\u3067\u3059\u3002 \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3061\u3087\u3063\u3068XML\u3092\u8aad\u307f\u8fbc\u3080\u6a5f\u4f1a\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u4eca\u56de\u306f\u305d\u306e\u4e2d\u3067\u5c11\u3057\u30cf<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[28],"tags":[11],"class_list":["post-1210","post","type-post","status-publish","format-standard","hentry","category-web-system","tag-java",""],"acf":[],"aioseo_notices":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"engage-mag-carousel-img":false,"engage-mag-carousel-img-landscape":false,"engage-mag-carousel-large-img":false,"engage-mag-carousel-large-img-landscape":false,"engage-mag-large-thumb":false,"engage-mag-small-thumb":false},"uagb_author_info":{"display_name":"ah106rx4o4","author_link":"https:\/\/www.opentone.co.jp\/ot-lab\/author\/ah106rx4o4"},"uagb_comment_info":0,"uagb_excerpt":"\u3053\u3093\u306b\u3061\u306f\u3002kk\u3067\u3059\u3002 \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3061\u3087\u3063\u3068XML\u3092\u8aad\u307f\u8fbc\u3080\u6a5f\u4f1a\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u4eca\u56de\u306f\u305d\u306e\u4e2d\u3067\u5c11\u3057\u30cf","_links":{"self":[{"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/posts\/1210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/comments?post=1210"}],"version-history":[{"count":1,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/posts\/1210\/revisions"}],"predecessor-version":[{"id":1211,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/posts\/1210\/revisions\/1211"}],"wp:attachment":[{"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/media?parent=1210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/categories?post=1210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/tags?post=1210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}