`
wang_peng1
  • 浏览: 3942884 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java simplexml 序列化

 
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<data>
<head>
	<ver>协议版本</ver>
	<dev_type>设备类型</dev_type>
	<dev_sub_type>设备子类型</dev_sub_type>
	<dev_sn>设备编号</dev_sn>
	<cmd >命令字</cmd >  
     <id>消息id</id>
      <rid>反馈消息id</rid>
</head>
<body>
<city>上海</city>
 <weathers>
 <list>
  <value>
    <date>2014-2-23</date>
    <min_temp>12</min_temp>
    <max_temp>25</max_temp>
    <pm25>200</pm25>
    <type>晴转多云</type>
    <desc>天气状况描述</desc>
  </value>
 </list>
</weathers>
</body>
</data>

 

 Serializer serializer = new Persister();
	        			 File source = new File("/data/shareData/example.xml");
	        			
	        			 try {
							CommonUtil.weather1022= serializer.read(Weather1022.class, source);
						
							Log.i("ee",""+CommonUtil.weather1022.getHead().getCmd());
							Log.i("ee",""+CommonUtil.weather1022.getWeather1022Body().getCity());
							Log.i("ee",""+CommonUtil.weather1022.getWeather1022Body().getWeathersListOfBody().getListweatherValue().get(0).getDesc());

							
						} catch (Exception e) {
							// TODO Auto-generated catch block
							Log.i("ee","mistake"+e.getMessage());
							Toast.makeText(PageActivity.this, "接收数据异常", Toast.LENGTH_SHORT).show();
						}
		        		
	        		 }

 

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;


@Root(name="value")
public class WeatherValue {

	@Element(required = false)
	private String date;
	
	@Element(required = false)
	private String min_temp;
	
	@Element(required = false)
	private String max_temp;
	
	@Element(required = false)
	private String pm25;
	
	@Element(required = false)
	private String type;
	
	@Element(required = false)
	private String desc;

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}

	public String getMin_temp() {
		return min_temp;
	}

	public void setMin_temp(String min_temp) {
		this.min_temp = min_temp;
	}

	public String getMax_temp() {
		return max_temp;
	}

	public void setMax_temp(String max_temp) {
		this.max_temp = max_temp;
	}

	public String getPm25() {
		return pm25;
	}

	public void setPm25(String pm25) {
		this.pm25 = pm25;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}
	
	
}

 

@Root(name="weathers",strict=false)
public class WeathersListOfBody {
	
	@ElementList(name="list",required = false)
	 private List<WeatherValue> listweatherValue;

	public List<WeatherValue> getListweatherValue() {
		return listweatherValue;
	}

	public void setListweatherValue(List<WeatherValue> listweatherValue) {
		this.listweatherValue = listweatherValue;
	}

	

	
}

 

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root(name="body",strict=false)
public class Weather1022Body {

	@Element(required = false)
	private String city;
	
	@Element(name="weathers",required = false)
	private WeathersListOfBody weathersListOfBody;

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public WeathersListOfBody getWeathersListOfBody() {
		return weathersListOfBody;
	}

	public void setWeathersListOfBody(WeathersListOfBody weathersListOfBody) {
		this.weathersListOfBody = weathersListOfBody;
	}
}

 

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root(name="data",strict=false)
public class Weather1022 {
	
	@Element
	Head head;
	
	@Element(name="body",required = false)
	Weather1022Body weather1022Body;

	public Head getHead() {
		return head;
	}

	public void setHead(Head head) {
		this.head = head;
	}

	public Weather1022Body getWeather1022Body() {
		return weather1022Body;
	}

	public void setWeather1022Body(Weather1022Body weather1022Body) {
		this.weather1022Body = weather1022Body;
	}

}

 因为这里我们的xml 有固定的head  变化的body,所以建的类名字有些奇怪,但是不会影响如何解析一个list型的xml

分享到:
评论

相关推荐

    GWT SimpleXML, XML解析

    4. **序列化与反序列化**:在SimpleXML中,`Serializer.read()`方法用于将XML字符串反序列化为Java对象,而`Serializer.write()`方法则用于将Java对象序列化为XML字符串。这样,解析后的XML数据就可以方便地在GWT...

    converter-simplexml-2.1.0

    SimpleXML是一个Java库,它提供了一种简单的方式去序列化和反序列化XML数据。这个库的版本为2.7.1,体现在压缩包中的"simple-xml-2.7.1.jar"文件。它能够帮助开发者将Java对象转换成XML字符串,同时也能将XML字符串...

    Android开发-Retrofit-AndroidStudio(四)simplexml解析XML_免积分

    简单XML库(Simple XML)是Java中一个轻量级、高效的XML序列化和反序列化库,非常适合处理XML格式的数据。 首先,让我们了解Retrofit的基本概念。Retrofit由Square公司开发,它允许开发者通过简单的注解将HTTP操作...

    android 向远程服务传递复杂类型

    XML序列化则可使用如JAXB或SimpleXML库,但其使用较为繁琐,且在Android生态中不如JSON流行。 除了HTTP请求,gRPC是一种现代化的RPC框架,它使用Protocol Buffers(protobuf)作为数据交换格式。protobuf提供了一种...

    Java灵活易用自封装http客户端

    // 序列化RequestBody private String serializeRequestBody(Object requestBody) { ObjectMapper mapper = new ObjectMapper(); try { return mapper.writeValueAsString(requestBody); } catch ...

    xml精讲帮助文档 两个打包

    2. XML序列化与反序列化:在Java中,可以使用JAXB(Java Architecture for XML Binding)将对象转换为XML,反之亦然,实现数据的序列化和反序列化。 三、XML与Java 1. DOM(Document Object Model):Java中,XML...

    SmsBack:sharePreference的学习,包括xml序列化器和xml解析器的学习,以模拟短信的备份和备份短信的读取为实例进行

    在这个过程中,我们将探讨`SharedPreferences`的API,以及XML序列化和解析的相关知识。 `SharedPreferences` 是Android系统提供的一种持久化数据的方式,它使用键值对的形式存储数据,并且支持多种数据类型,如字符...

    Android Stock实现数据发送

    在客户端,我们需要使用如Gson或Jackson库将Java对象转换为JSON字符串,然后在服务器端进行反序列化处理。如果是XML,我们可以使用如org.xmlpull.v1.XmlPullParser或SimpleXML库进行相应操作。 考虑到性能和用户...

    Spring Android Reference Manual

    - SimpleXML Serializer:用于XML序列化。 - Android ROME FeedReader:用于读取RSS和Atom feeds。 2.6 使用示例 - **基本用法示例**:展示如何初始化RestTemplate并发送GET请求。 - **使用Gzip压缩**:演示如何...

    xml格式数据和json相互转换的源码

    首先,将XML解析为一个`JsonNode`对象,然后序列化成JSON字符串: ```java import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper; ObjectMapper xml...

    citest_android:读

    8. **序列化与反序列化**:在读取保存的对象时,可能涉及序列化和反序列化,Java提供了`Serializable`接口,或者可以使用第三方库如Gson, Jackson进行更灵活的序列化操作。 9. **资源文件读取**:Android工程中的...

    parse xml string from url to POJO

    首先,定义对应的POJO类,然后使用`SimpleXMLSerializer`进行反序列化: ```java @Root(name = "root") public class MyPojo { @Element private String someField; // ...其他字段 } Serializer ...

    Android 口袋微博服务器客户端代码

    2. **数据解析与序列化**:服务器返回的数据通常是JSON格式,因此,客户端需要能够解析JSON。Android提供了Gson库,可以方便地将JSON字符串转化为Java对象。反之,当向服务器发送数据时,也需要将Java对象序列化为...

    android的web客户端程序

    由于Android原生的HTTP客户端不支持SOAP,所以需要引入kSOAP来处理SOAP消息的序列化和反序列化,以便与Web服务进行交互。 **Android客户端开发流程**: 1. **初始化网络请求**:创建网络连接,设置HTTP头信息,如...

    Android中的简单XML操作技术

    要使用SimpleXML,需要在项目中添加依赖,并创建相应的XML序列化和反序列化配置。 6. **处理网络上的XML**: 在Android中获取远程XML文件通常涉及网络请求。我们可以使用`HttpURLConnection`,`OkHttp`或`Retrofit...

Global site tag (gtag.js) - Google Analytics