android中,使用pull解析服务器端的xml数据,请问pull解析对xml数据格式有什么要求? 10
<?xmlversion="1.0"encoding="UTF-8"?><citys><city><id>1</id><range>11</range><title>大连...
<?xml version="1.0" encoding="UTF-8"?>
<citys>
<city>
<id>1</id>
<range>11</range>
<title>大连</title>
<index>102</index>
</city>
<city>
<id>2</id>
<range>21</range>
<title>北京</title>
<index>80</index>
</city>
<city>
<id>3</id>
<range>12</range>
<title>上海</title>
<index>99</index>
</city>
</citys>
要用PULL解析,可以给解析一下么?谢谢 展开
<citys>
<city>
<id>1</id>
<range>11</range>
<title>大连</title>
<index>102</index>
</city>
<city>
<id>2</id>
<range>21</range>
<title>北京</title>
<index>80</index>
</city>
<city>
<id>3</id>
<range>12</range>
<title>上海</title>
<index>99</index>
</city>
</citys>
要用PULL解析,可以给解析一下么?谢谢 展开
2个回答
展开全部
XmlPullParser parser = Xml.newPullParser();
parser.setInput(is, "UTF-8");
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if (parser.getName().equals("city")) {
//----city---
} else if (parser.getName().equals("id")) {
eventType = parser.next();
//parser.getText() 就是id值
System.out.println("id ="+parser.getText());
} else if (parser.getName().equals("range")) {
eventType = parser.next();
//parser.getText() 就是range值
} else if (parser.getName().equals("title")) {
eventType = parser.next();
//parser.getText() 就是title值
} else if (parser.getName().equals("index")) {
eventType = parser.next();
//parser.getText() 就是index值
}
break;
case XmlPullParser.END_TAG:
if (parser.getName().equals("city")) {
}
break;
}
eventType = parser.next();
}
最好是 新建一个class City
parser.setInput(is, "UTF-8");
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if (parser.getName().equals("city")) {
//----city---
} else if (parser.getName().equals("id")) {
eventType = parser.next();
//parser.getText() 就是id值
System.out.println("id ="+parser.getText());
} else if (parser.getName().equals("range")) {
eventType = parser.next();
//parser.getText() 就是range值
} else if (parser.getName().equals("title")) {
eventType = parser.next();
//parser.getText() 就是title值
} else if (parser.getName().equals("index")) {
eventType = parser.next();
//parser.getText() 就是index值
}
break;
case XmlPullParser.END_TAG:
if (parser.getName().equals("city")) {
}
break;
}
eventType = parser.next();
}
最好是 新建一个class City
更多追问追答
追问
这段代码有问题,
1.没有返回值
2.id,range,index是int型,必须强转成Integer
City javaBean已经建好了
追答
1 这个代码是给你测试的 你得自己写个方法 加返回就好了
2 每个节点得到的是String 你转成integer 就用Integer.parseInt(parser.getText())就可以了
City.setId(Integer.parseInt(parser.getText()))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-20
展开全部
标准的XML即可
更多追问追答
追问
可以给解析一下么?
追答
用法 ? 随便一个XML解析工具就好了。在知道上面搜索 java xml 解析
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询