xml的解析
public class Xml{
List <New> newLists= null;
New news = null;
public static List<New>parserXml(InputString in){
//获取xml的解析器
Xml parser = xml.newPullParser();
//设置解析器 要解析的内容
parser.setInput(in,"utf-8");
//获取解析的事件类型
int type = Parser.getEventtype();
while(type != XmlPullParser.END_DOCUMENT){
//具体判断一下解析的是开始节点还是结束节点
swtich(type){
case XmlPullParser.START_TAG://解析开始节点
//具体判断一下解析是从哪一个节点开始标签
if("channel".equals(Parser.getname())){
//创建一个list的集合对象
newlists = new ArrayList<News>();
}else if("item".equals(Parser.getName())){
news =new News();
}else if ("item".equals(Parser,getName())){
news = new News();
}else if("title".equals(Parser.getName())){
news.setTitle(title);
//获取title数据
parser.nextText();
//news.setTitle(parser.next();)
}else if("decripetion".equals(Parser.getName())){
news.setdecripetion(parser.nextText());
}else if("image".equals(Parser.getName())){
news.setimage(parser.nextText());
}else if("type".equals(Parser.getName())){
news.settype(parser.nextText());
}else if("comment".equals(Parser.getName())){
news.setcomment(parser.nextText());
break;
case XmlPullParser.END_TAG:
if("item".equals(getName())){
Newlists.add(New);
}
break;
}
//一直向下解析
type = Parser.next();
}
return Newlists;
}
public class New{
private String title;
private String decripetion;
private String image;
private String type;
private String comment;
//生成get set 方法
}
主函数的调取方法
List<New> newLists = Xml.ParserXml(in)
runOnUiThread(new Runable(){
public void run(){
lv.setAdapter(new MyAdapter());
}
}
接下来list对象展示出来需要数据适配器
创建数据适配器
public class Myadapter extend BaseAdapter{
//重写BaseAdapter的构造方法
//这里因为我是用记事本写的,所以我只写需要改变的方法
public int getCount()
{
return newLists.size();
}
public View getView(int postion, View convertView ,ViewGroup parents){
View view;
if(convertView == null){
//resourse是xml的布局文件
view = View.inflate(this,resource,root)
}
view = convertView;
}
TextView tv_type =(TextView)view.findViewById(R.id....);
tv.setText(newLists.get(position).getTitle());
//New news = newLists.get(position));
//tv.setText(news.getTitle);
String typee = newLists.get(poition).gettype();
int type = Interger.parseInt(typee);
switch(type){
case 1:
tv_type.setText("国内");
break;
case 2:
tv_type.setText(comment+"跟帖");
break;
case 3:
tv_type.setText("国外");
break;
default:
break;
return view;
}
开源项目
com包复制到src下
String imageUrl = newLists.get(position).getImage();
iv(控键).setImageUrl(imageUrl);
xml格式的解析
最新推荐文章于 2025-04-30 10:43:01 发布