Xml利用Pull解析
来源:互联网 发布:mmd工口动作数据 编辑:程序博客网 时间:2024/05/21 15:44
<?xml version="1.0" encoding="UTF-8"?>
<root name="中国">
<province name="北京市" postcode="110000" >
<city name="北京市" postcode="110100" >
<area name="东城区" postcode="110101" />
<area name="西城区" postcode="110102" />
<area name="崇文区" postcode="110103" />
</city>
private City citys;
private List<String> string = new ArrayList<String>();;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv_show);
PullParser();
}
//Pull解析
private void PullParser() {
try {
// 创建一个Pull的工厂
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
// 创建一个XmlPullParser
XmlPullParser parser=factory.newPullParser();
parser.setInput(getAssets().open("city.xml"),"utf-8");
//触发第一次解析,并获得类型
int type=parser.getEventType();
//遍历循环
while(type!=XmlPullParser.END_DOCUMENT){
String tagName=parser.getName();
switch (type) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if(tagName.equals("root")){
citys = new City();
citys.setCountry(parser.getAttributeValue(0));
}
if(tagName.equals("province")){
citys.setProvince_name(parser.getAttributeValue(0));
citys.setProvince_postcode(parser.getAttributeValue(1));
}else if(tagName.equals("city")){
citys.setCity_name(parser.getAttributeValue(0));
citys.setCity_postcode(parser.getAttributeValue(1));
}else if(tagName.equals("area")){
citys.setArea_name(parser.getAttributeValue(0));
citys.setArea_postcode(parser.getAttributeValue(1));
}
break;
case XmlPullParser.END_TAG:
if(tagName.equals("area")){
string.add(citys.toString());
}
break;
default:
break;
}
type=parser.next();
}
for(String ss:string){
tv.append(ss.toString()+"\n\n");
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
<root name="中国">
<province name="北京市" postcode="110000" >
<city name="北京市" postcode="110100" >
<area name="东城区" postcode="110101" />
<area name="西城区" postcode="110102" />
<area name="崇文区" postcode="110103" />
</city>
</province>
public class MainActivity extends Activity {
private TextView tv;private City citys;
private List<String> string = new ArrayList<String>();;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv_show);
PullParser();
}
//Pull解析
private void PullParser() {
try {
// 创建一个Pull的工厂
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
// 创建一个XmlPullParser
XmlPullParser parser=factory.newPullParser();
parser.setInput(getAssets().open("city.xml"),"utf-8");
//触发第一次解析,并获得类型
int type=parser.getEventType();
//遍历循环
while(type!=XmlPullParser.END_DOCUMENT){
String tagName=parser.getName();
switch (type) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if(tagName.equals("root")){
citys = new City();
citys.setCountry(parser.getAttributeValue(0));
}
if(tagName.equals("province")){
citys.setProvince_name(parser.getAttributeValue(0));
citys.setProvince_postcode(parser.getAttributeValue(1));
}else if(tagName.equals("city")){
citys.setCity_name(parser.getAttributeValue(0));
citys.setCity_postcode(parser.getAttributeValue(1));
}else if(tagName.equals("area")){
citys.setArea_name(parser.getAttributeValue(0));
citys.setArea_postcode(parser.getAttributeValue(1));
}
break;
case XmlPullParser.END_TAG:
if(tagName.equals("area")){
string.add(citys.toString());
}
break;
default:
break;
}
type=parser.next();
}
for(String ss:string){
tv.append(ss.toString()+"\n\n");
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
0 0
- 利用pull解析Xml
- Xml利用Pull解析
- 利用pull解析xml文件
- 利用pull解析器解析xml文件
- android利用pull解析器解析xml
- 利用PULL解析方式解析XML文件
- Android利用pull解析器生成xml
- android中利用pull解析xml文件
- 利用Pull生成和解析xml文件
- 如何利用Pull解析器生成XML
- android利用Pull解析器解析、生成XMl文件
- XML解析Pull解析
- XML解析---PULL解析
- Android 中利用SAX ,Dom,pull解析 XML 文件
- android利用pull技术来解析和生成xml文件
- 利用Dom,Sax,Pull三种方式解析xml文件
- Android 利用DOM,SAX,PULL解析xml文件
- XML的pull解析
- Volley源码简单解析
- phonegap笔记-滑轮效果,竖形走马灯效果
- Java源码阅读-StringBuffer
- UDP丢包的问题
- Binary Tree Maximum Path Sum
- Xml利用Pull解析
- jsp页面引入css文件报错
- Scanner类输入
- DAY03_python2 与 python3的区别
- 【HDU】1575 - Tr A(矩阵快速幂)
- java算法——打印水仙花数
- Saving HDU(贪心)
- SharedPreferences封装类SPUtils
- Java进阶(三十八)快速排序