• day29(对象转xml(使用java))


        通常使用xStream工具. 将集合,数组,对象转成XML.

    导入两个包:

        xpp3_min-1.1.4c.jar

        xstream-1.4.4.jar

    自定义一个类

        

    package com.baidu;
    
    public class User {
    	private int id;
    	private String name;
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	@Override
    	public String toString() {
    		return "User [id=" + id + ", name=" + name + "]";
    	}
    	
    }
    

      测试类

    package com.baidu;
    
    import java.util.ArrayList;
    
    import com.thoughtworks.xstream.XStream;
    
    public class Demo {
    	public static void main(String[] args) {
    		User u=new User();
    		u.setId(11);
    		u.setName("风清扬");
    		User u1=new User();
    		u1.setId(12);
    		u1.setName("小师妹");
    		ArrayList<User> array=new ArrayList<User>();
    		array.add(u);
    		array.add(u1);
    		//创建XStream对象
    		XStream xs=new XStream();
              //使用XStream对象转换对象 String xml = xs.toXML(array);
              //输出转换的 System.out.println(xml); } }

      输出结果:

    <list>
      <com.baidu.User>//表示类的全路径
        <id>11</id>//类的属性
        <name>风清扬</name>//类的属性
      </com.baidu.User>
      <com.baidu.User>
        <id>12</id>
        <name>小师妹</name>
      </com.baidu.User>
    </list>
    

      让属性标签变为类标签的属性(内包含)

    package com.baidu;
    
    import java.util.ArrayList;
    
    import com.thoughtworks.xstream.XStream;
    
    public class Demo {
    	public static void main(String[] args) {
    		User u=new User();
    		u.setId(11);
    		u.setName("风清扬");
    		User u1=new User();
    		u1.setId(12);
    		u1.setName("小师妹");
    		ArrayList<User> array=new ArrayList<User>();
    		array.add(u);
    		array.add(u1);
    		//将集合转换为xml
    		XStream xs=new XStream();
                    //将类中的属性作为类的标签的内部属性
    		xs.useAttributeFor(User.class, "id");
    		xs.useAttributeFor(User.class,"name");
    		String xml = xs.toXML(array);
    		System.out.println(xml);
    	}
    }
        
    

      输出结果:

    <list>
      <com.baidu.User id="11" name="风清扬"/>
      <com.baidu.User id="12" name="小师妹"/>
    </list>
    

      修改类的全路径为类名

    package com.baidu;
    
    import java.util.ArrayList;
    
    import com.thoughtworks.xstream.XStream;
    
    public class Demo {
    	public static void main(String[] args) {
    		User u=new User();
    		u.setId(11);
    		u.setName("风清扬");
    		User u1=new User();
    		u1.setId(12);
    		u1.setName("小师妹");
    		ArrayList<User> array=new ArrayList<User>();
    		array.add(u);
    		array.add(u1);
    		//将集合转换为xml
    		XStream xs=new XStream();
    		xs.useAttributeFor(User.class, "id");
    		xs.useAttributeFor(User.class,"name");
    		xs.alias("User", User.class);
    		String xml = xs.toXML(array);
    		System.out.println(xml);
    	}
    }
    

      输出结果:

    <list>
      <User id="11" name="风清扬"/>
      <User id="12" name="小师妹"/>
    </list>
    

      使用jquery来解析xml(dom)

     `                 $.post("${pageContext.request.contextPath}/GetCityServlet", {"pid":pv},function(data) {
    			 $("#city").html("<option>-请选择-</option>");
    			 $(data).find("Cities").each(function(){
      /*
                        <Cities> <id>18</id> <cityid>140300</cityid> <city>阳泉市</city> <provinceid>140000</provinceid> </Cities>
                       */ //alert($(this).html()); $("#city").append("<option value='"+$(this).find("cityid").text()+"'>"+ $(this).find("city").text() + "</option>"); }); });

      

                   $.post("${pageContext.request.contextPath}/GetCityServlet", {"pid":pv},function(data) {
    				 $("#city").html("<option>-请选择-</option>");
    					$(data).find("Cities").each(function(){
    						/* <Cities cityid="131100" city="衡水市">
    						    <id>15</id>
    						    <provinceid>130000</provinceid>
    						  </Cities> */
    						//alert($(this).attr("city"));
    						$("#city").append("<option value='"+$(this).attr("cityid")+"'>"+ $(this).attr("city") + "</option>");
    					}); 
    				 }); 
    		
    			});
    

      

      

  • 相关阅读:
    codeforces 980A Links and Pearls
    zoj 3640 Help Me Escape
    sgu 495 Kids and Prizes
    poj 3071 Football
    hdu 3853 LOOPS
    hdu 4035 Maze
    hdu 4405 Aeroplane chess
    poj 2096 Collecting Bugs
    scu 4444 Travel
    zoj 3870 Team Formation
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/XStream.html
Copyright © 2020-2023  润新知