posts - 110, comments - 101, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          <?xml version="1.0" encoding="UTF-8" ?>
          <person>
              
          <name>yunyun</name>
              
          <gender>true</gender>
              
          <address>shanghai</address>
              
          <contents>cc</contents>
              
          <contents>ss</contents>
              
          <taxs>
                  
          <string>1</string>
                  
          <string>2</string>
                  
          <string>3</string>
              
          </taxs>
          </person>

          JavaBean
          public class Person2 {
              
          private String name;
              
          private boolean gender;
              
          private String homeAddress;
              
          private List<String> contentslist;
              
          private String[] taxs;

              @Override
              
          public String toString() {
                  
          return ToStringBuilder.reflectionToString(this);
              }


          }

          測試類 解析xml 反序列化到javaBean object

          public class TestXmlToObject2 {

               
          public static final XStream xstream=new XStream();
               
               
          static{
                   xstream.alias(
          "person", Person2.class);//類別名
                   xstream.aliasField("address", Person2.class"homeAddress"); //屬性別名
                   xstream.alias("contents",String.class);//private List<String> contentslist;是string類型
                   xstream.addImplicitCollection(Person2.class"contentslist");//隱式集合 隱藏contentslist
                   Person2 person=(Person2)xstream.fromXML(TestXmlToObject2.class.getClassLoader().getResourceAsStream("person02.xml"));
                   System.out.println(person.toString());
               }

              
              
          public static void main(String[] args) {

              }


          }


          二: 注解方式
          xml:
           
          <?xml version="1.0" encoding="UTF-8" ?>
          <person>
              
          <name>yunyun</name>
              
          <gender>true</gender>
              
          <address>shanghai</address>
              
          <company>yihaodian</company>
              
          <sources>
                  
          <string>firstSources</string>
                  
          <string>secondSources</string>
              
          </sources>
              
          <part>firstPart</part>
              
          <part>secondPart</part>
          </person>

          javaBean
          @XStreamAlias("person")
          public class Person3 {
              private String name;
              private boolean gender;
              @XStreamAlias("address")
              private String homeAddress;
              private String company;
              @XStreamImplicit(itemFieldName="part")
              private List
          <String> content;
              private String[] sources;
              
              @Override
              public String toString() {
                  return ToStringBuilder.reflectionToString(this);
              }
          }

          測試
          public class TestXmlToObject3 {

               
          public static final XStream xstream=new XStream();
               
               
          static{
                   xstream.processAnnotations(Person3.
          class);//顯示聲明使用注解
                   xstream.autodetectAnnotations(true);
                   Person3 person
          =(Person3)xstream.fromXML(TestXmlToObject3.class.getClassLoader().getResourceAsStream("person03.xml"));
                   System.out.println(person.toString());
               }

               
              
              
              
              
          public static void main(String[] args) {

              }


          }

          POM.xml
                  <dependency>
                      
          <groupId>com.thoughtworks.xstream</groupId>
                      
          <artifactId>xstream</artifactId>
                      
          <version>1.3.1</version>
                  
          </dependency>
                  
          <dependency>
                      
          <groupId>commons-lang</groupId>
                      
          <artifactId>commons-lang</artifactId>
                      
          <version>2.4</version>
                  
          </dependency>




          評論

          # re: xstream 解析xml 別名 注解 list集合 boolean 數組 converter Pom.xml設置  回復  更多評論   

          2013-03-27 17:30 by hello_kitty
          <list>
          <string>CALCULATE</string>
          <string>caihongcheng</string>
          <int>10</int>
          <boolean-array>
          <boolean>true</boolean>
          <boolean>false</boolean>
          <boolean>false</boolean>
          <boolean>false</boolean>
          <boolean>false</boolean>
          <boolean>false</boolean>
          <boolean>false</boolean>
          <boolean>false</boolean>
          <boolean>false</boolean>
          <boolean>false</boolean>
          </boolean-array>
          </list>
          一開始有一個boolean類型的數組,我把它添加到一個list里面,想通過xstream遍歷成xml。(源代碼:
          ArrayList list = new ArrayList();
          list.add("CALCULATE");
          list.add("caihongcheng");
          list.add(10);
          list.add(status);//status為boolean數組


          求大神給寫段代碼讓上面的數組變成下面那樣的,可以把代碼發給我郵箱:513110286@qq.com,不勝感謝!

          <response>
          <command>CALCULATE</command>
          <parkName>caihongcheng</parkName>
          <picNumber>20</picNumber>
          <picValue>true</picValue>
          <picValue>false</picValue>
          <picValue>false</picValue>
          <picValue>false</picValue>
          <picValue>false</picValue>
          <picValue>false</picValue>
          <picValue>false</picValue>
          <picValue>false</picValue>
          <picValue>false</picValue>
          <picValue>false</picValue>
          </response>

          # re: xstream 解析xml 別名 注解 list集合 boolean 數組 converter Pom.xml設置[未登錄]  回復  更多評論   

          2014-12-29 14:18 by xiaoxiao
          謝謝分享!幫我解決了隱式集合的問題!

          # re: xstream 解析xml 別名 注解 list集合 boolean 數組 converter Pom.xml設置  回復  更多評論   

          2016-03-26 17:06 by lzk
          非常感謝!

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乡城县| 夏津县| 淳化县| 闵行区| 龙泉市| 桃园市| 黄平县| 鄂伦春自治旗| 公主岭市| 临漳县| 东方市| 安新县| 乌兰浩特市| 博罗县| 拜城县| 龙江县| 长岭县| 双城市| 右玉县| 宝坻区| 山丹县| 张掖市| 武冈市| 云浮市| 吴江市| 盘山县| 蒙自县| 会同县| 临安市| 视频| 开江县| 仪陇县| 襄汾县| 大宁县| 湘阴县| 芷江| 凉城县| 株洲县| 大关县| 林西县| 调兵山市|