package com.shz.services;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import android.util.Xml;
import com.shz.domain.SmsInfo;
public class SmsService {
public static List<SmsInfo> getSmsList(InputStream is) throws Exception
{
List<SmsInfo> list = null;
SmsInfo sms = null;
XmlPullParser xmlParser = Xml.newPullParser();
xmlParser.setInput(is, "utf-8");
int type = xmlParser.next();
while(type != XmlPullParser.END_DOCUMENT)
{
switch (type) {
case XmlPullParser.START_TAG:
if(xmlParser.getName().equals("Smss"))
{
list = new ArrayList<SmsInfo>();
}
else if(xmlParser.getName().equals("Sms"))
{
sms = new SmsInfo();
sms.setId(Integer.parseInt(xmlParser.getAttributeValue(0)));
}
else if(xmlParser.getName().equals("type"))
{
sms.setType(Integer.parseInt(xmlParser.nextText()));
}
else if(xmlParser.getName().equals("datetime"))
{
sms.setDatetime(xmlParser.nextText());
}
else if(xmlParser.getName().equals("body"))
{
sms.setBody(xmlParser.nextText());
}
else if(xmlParser.getName().equals("address"))
{
sms.setAddress(xmlParser.nextText());
}
break;
case XmlPullParser.END_TAG:
if(xmlParser.getName().equals("Sms"))
{
list.add(sms);
sms = null;
}
break;
default:
break;
}
type = xmlParser.next();
}
return list;
}
}
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<Smss>
<Sms id="0" >
<type>1</type>
<datetime>2014-08-09 15:08:23</datetime>
<body>明天过来吃饭0</body>
<address>15012345678</address>
</Sms>
<Sms id="1" >
<type>1 </type>
<datetime>2014-08-09 15:08:23</datetime>
<body>明天过来吃饭1</body>
<address>15012345679</address>
</Sms>
</Smss>