JAXB向Xml非根節(jié)點(diǎn)添加一個(gè)或多個(gè)屬性

          JAXB 向Xml非根節(jié)點(diǎn)添加一個(gè)或多個(gè)屬性,直接上代碼,關(guān)于JAXB的相關(guān)注解可查閱JAVA API。

          原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處。http://www.aygfsteel.com/kangdy/archive/2011/11/23/364635.html

          code1: colors類  根節(jié)點(diǎn)
          code1
          package com.kangdy.test;

          import javax.xml.bind.annotation.XmlAccessType;
          import javax.xml.bind.annotation.XmlAccessorType;
          import javax.xml.bind.annotation.XmlElement;
          import javax.xml.bind.annotation.XmlRootElement;

          @XmlRootElement(name = "Colors")
          @XmlAccessorType(XmlAccessType.FIELD)
          public class Colors {
              
              @XmlElement(name = "red",nillable=true)
              private Red red;
              
              @XmlElement(name = "blue",nillable=true)
              private Blue blue;

              public Red getRed() {
                  return red;
              }

              public Blue getBlue() {
                  return blue;
              }

              public void setRed(Red red) {
                  this.red = red;
              }

              public void setBlue(Blue blue) {
                  this.blue = blue;
              }
          }

          code2:  Red類  子節(jié)點(diǎn)
          code2package com.kangdy.test;

          import javax.xml.bind.annotation.XmlAccessType;
          import javax.xml.bind.annotation.XmlAccessorType;
          import javax.xml.bind.annotation.XmlAttribute;
          import javax.xml.bind.annotation.XmlRootElement;

          @XmlRootElement(name = "red")
          @XmlAccessorType(XmlAccessType.FIELD)
          public class Red {
              
              private String value;
              
              @XmlAttribute(name = "att1")
              private String att;
              
              public String getValue() {
                  return value;
              }
              
              public void setValue(String value) {
                  this.value = value;
              }

              public String getAtt() {
                  return att;
              }

              public void setAtt(String att) {
                  this.att = att;
              }
              
          }


          code3:  類 Blue 子節(jié)點(diǎn)
          code3
          package com.kangdy.test;

          import javax.xml.bind.annotation.XmlAccessType;
          import javax.xml.bind.annotation.XmlAccessorType;
          import javax.xml.bind.annotation.XmlAttribute;
          import javax.xml.bind.annotation.XmlRootElement;

          @XmlRootElement(name = "blue")
          @XmlAccessorType(XmlAccessType.FIELD)
          public class Blue {
              private String value;
              
              @XmlAttribute(name = "att2")
              private String att2;
              
              @XmlAttribute(name = "att1")
              private String att;
              
              public String getAtt() {
                  return att;
              }

              public void setAtt(String att) {
                  this.att = att;
              }

              public String getValue() {
                  return value;
              }

              public void setValue(String value) {
                  this.value = value;
              }

              public String getAtt2() {
                  return att2;
              }

              public void setAtt2(String att2) {
                  this.att2 = att2;
              }
          }

          code4: main類
          code4
          package com.kangdy.test;

          import java.io.StringWriter;

          import javax.xml.bind.JAXBContext;
          import javax.xml.bind.Marshaller;

          public class Jaxbtest {
              public static void main(String[] args) throws Exception {

                  StringWriter writer = new StringWriter();
                  JAXBContext jc = JAXBContext.newInstance(Colors.class);
                  Marshaller ma = jc.createMarshaller();
                  ma.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
                  
                  Colors colors = new Colors();
                  Red red = new Red();
                  red.setAtt("att-red");
                  red.setValue("red");
                  Blue blue = new Blue();
                  blue.setValue("blue");
                  blue.setAtt("att-blue");
                  blue.setAtt2("blue-att2");
                  colors.setRed(red);
                  colors.setBlue(blue);
                  
                  ma.marshal(colors, writer);
                  System.out.println(writer.toString());

              }
          }

          運(yùn)行結(jié)果:
          結(jié)果
          <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
          <Colors>
              <red att1="att-red">
                  <value>red</value>
              </red>
              <blue att1="att-blue" att2="blue-att2">
                  <value>blue</value>
              </blue>
          </Colors>

          posted on 2011-11-23 14:33 AK47 閱讀(10142) 評(píng)論(4)  編輯  收藏 所屬分類: java相關(guān)

          評(píng)論

          # re: JAXB向Xml非根節(jié)點(diǎn)添加一個(gè)或多個(gè)屬性[未登錄](méi) 2014-01-14 10:08 lili

          1234  回復(fù)  更多評(píng)論   

          # re: JAXB向Xml非根節(jié)點(diǎn)添加一個(gè)或多個(gè)屬性 2014-08-06 11:22 TTBear

          請(qǐng)問(wèn)一下想<error code="01">dsds</error>這種格式的怎么取出屬性code  回復(fù)  更多評(píng)論   

          # re: JAXB向Xml非根節(jié)點(diǎn)添加一個(gè)或多個(gè)屬性 2016-05-20 15:40 @jason

          那怎么給根節(jié)點(diǎn)增加屬性呢?  回復(fù)  更多評(píng)論   

          # re: JAXB向Xml非根節(jié)點(diǎn)添加一個(gè)或多個(gè)屬性 2016-08-09 15:00 12

          12  回復(fù)  更多評(píng)論   

          <2016年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 保靖县| 朝阳市| 高邮市| 麻栗坡县| 重庆市| 措勤县| 呼玛县| 桂东县| 宜君县| 铁力市| 延吉市| 亳州市| 确山县| 鄯善县| 洪泽县| 长阳| 扎兰屯市| 咸丰县| 汕尾市| 榆林市| 自治县| 义马市| 山阴县| 吐鲁番市| 东乡| 商丘市| 合阳县| 招远市| 大化| 扬中市| 都匀市| 长沙县| 濉溪县| 大埔区| 蒙城县| 绩溪县| 上蔡县| 景洪市| 台中县| 吕梁市| 南靖县|