Xml使用pull解析"/>
Xml使用pull解析
该 XML 文件并未包含任何关联的样式信息。文档树显示如下。 <DATA> <item> <title>复旦大学教授、著名翻译家陆谷孙逝世</title> <link>.shtm?id=352456</link> <imgs>;/imgs> <description>中青在线上海7月28日电(中国青年报•中青在线记者 周凯 张茜)今天下午1时39分,英汉大词典主编、著名翻译家、复旦大学外语学院教授陆谷孙先生在上海新华医院去世,享年76岁。陆谷孙,194...</description> <copyright>周凯 张茜</copyright> <pubDate>2016-07-28 14:53</pubDate> <comments>.aspx?id=352456</comments> </item>public class MainActivity extends AppCompatActivity { private ListView lv;
private TextView tv;
private res re=null;
private List<res> reslist;
private String urll=".aspx?type=news&nums=20&pass=";
private Myadapter myadapter;
Handler handler=new Handler(){
@Overridepublic void handleMessage(Message msg) {
myadapter=new Myadapter(reslist,MainActivity.this);
lv.setAdapter(myadapter);
myadapter.notifyDataSetChanged();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView) findViewById(R.id.lv);
tv=(TextView) findViewById(R.id.tv);
getid(urll);
}
private void getid(final String urll) {
new Thread(){
@Override
public void run() {
try {
URL url=new URL(urll);
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
connection.setRequestMethod("GET");
int code=connection.getResponseCode();
if(code==200){
InputStream is=connection.getInputStream();
//得到数据开始解析
tojson(is);
handler.sendEmptyMessage(0);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
private void tojson(InputStream str){
try {XmlPullParserFactory factory =XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(str,"utf-8");
//类型判断
int eventType = parser.getEventType();
while(eventType!=XmlPullParser.END_DOCUMENT){
String name = parser.getName();
switch (eventType){
case XmlPullParser.START_DOCUMENT:
reslist=new ArrayList<res>();
break; case XmlPullParser.START_TAG: //re.setCDATA(Integer.parseInt(parser.getAttributeValue(0)));
if("title".equals(name)){
re=new res();
re.setCDATA(parser.nextText());
}else if("link".equals(name)){
re.setLink(parser.nextText());
}else if("copyright".equals(name)){
re.setCopyright(parser.nextText());
}else if("pubDate".equals(name)){
re.setPubDate(parser.nextText());
}
break;
case XmlPullParser.END_TAG:
if(name.equals("item")) {
reslist.add(re);
}
break;
}
eventType=parser.next();
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} }
更多推荐
Xml使用pull解析
发布评论