Android xmlpull 方式解析xml文件
2024-10-19 14:42:44
1.新建一个xml文件,放在res/xml目录下
<?xml version="1.0" encoding="utf-8"?>
<citys>
<city count="1400" name="深圳">广东</city>
<city count="1500" name="广州">广东</city>
<city count="1000" name="武汉">湖北</city>
</citys>
2.布局文件代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnmsg" /> <EditText
android:id="@+id/edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content" /> </LinearLayout>
3.后台java解析代码如下:
package ymw.main; import java.io.IOException; import org.xmlpull.v1.XmlPullParserException; import ymw.main.R; import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText; public class XmlResourceParserSampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.btn);
final EditText edit = (EditText) findViewById(R.id.edit);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
XmlResourceParser xpr = XmlResourceParserSampleActivity.this
.getResources().getXml(R.xml.myxml);// 找到xml文件
StringBuilder sb = new StringBuilder();
try {
// 循环解析
while (xpr.getEventType() != XmlResourceParser.END_DOCUMENT) {
if (xpr.getEventType() == XmlResourceParser.START_TAG) {
// 获取标签的标签名
String name = xpr.getName();
if (name.equals("city")) {
sb.append("城市名称:" + xpr.getAttributeValue(1)
+ "\n");
sb.append("人口:"
+ xpr.getAttributeValue(null, "count")
+ "万\n");
try {
sb.append("所属省份:" + xpr.nextText() + "\n\n");
} catch (IOException e) {
e.printStackTrace();
}
}
}
try {
xpr.next();
} catch (IOException e) {
e.printStackTrace();
}
}
edit.setText(sb.toString());
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
});
} }
最新文章
- python RecursionError: maximum recursion depth exceeded in comparison错误
- Transport Block Size, Throughput and Code rate-----http://www.simpletechpost.com/2012/12/transport-block-size-code-rate-protocol.html
- Linux 各文件夹介绍
- oracle 11g dataguard创建的简单方法
- Hibernate Annotation笔记
- JavaScript DOM 编程艺术(第2版)读书笔记(5)
- java生成4个不同的随机数
- .NET常用类库--苏飞合集
- TableView 中cell间的分割线(及其他控件间(内)的分割线)设置
- Python 基础 文件操作
- iframe使用location跳转页面的问题
- (转)在Java中如何遍历Map对象
- 201521123067 《Java程序设计》第4周学习总结
- Nodejs入门-基于Node.js的简单应用
- 一款非常推荐的用户界面插件----EasyUI
- 想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜
- 题解-HNOI2017 抛硬币
- python 试题
- 【XSY2716】营养餐 博弈论
- 【Arduino】Arduino接收字符串