解析XML字符串
来源:互联网 发布:禄宏微交易软件下载 编辑:程序博客网 时间:2024/06/06 03:33
写一个简单的解析字符串
创建assets文件夹,里面放要解析的字符
<?xml version="1.0" encoding="UTF-8" ?><Students> <student> <no>1</no> <name>张三</name> <sex>男</sex> </student> <student> <no>2</no> <name>赵六</name> <sex>男</sex> </student> <student> <no>3</no> <name>李五</name> <sex>男</sex> </student></Students>
开始解析
package alice.bw.com.day10json.xmldemo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import org.xmlpull.v1.XmlPullParserFactory;import java.io.IOException;import java.util.ArrayList;import alice.bw.com.day10json.R;public class MainXmlActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_xml); } public void onClick(View view) throws XmlPullParserException, IOException { switch (view.getId()){ case R.id.pull_btn: pareXMlStuJx(); break; case R.id.pull_phone_btn: break; } } private void pareXMlStuJx() throws XmlPullParserException, IOException { ArrayList<Student> list = new ArrayList<>(); //解析工厂 XmlPullParserFactory xppf = XmlPullParserFactory.newInstance(); //获取解析器 XmlPullParser xpp = xppf.newPullParser(); //设置要解析的文件 xpp.setInput(getResources().getAssets().open("Students.xml"),"UTF-8"); //获取事件类型 int type = xpp.getEventType(); Student stu = null; while (type!=xpp.END_DOCUMENT){ //解析 switch (type){ //前标签 case XmlPullParser.START_TAG: String name = xpp.getName();//标签的名字 switch (name){ case "student": stu = new Student(); break; case "no": stu.setNo(Integer.parseInt(xpp.nextText())); break; case "name": stu.setName(xpp.nextText()); break; case "sex": stu.setSex(xpp.nextText()); break; } break; //后标签 case XmlPullParser.END_TAG: String endname = xpp.getName(); if(endname.equals("student")){ list.add(stu); } break; } type = xpp.next(); } for (int i = 0; i <list.size(); i++) { Log.d("sxl", "pareXMlStuJx: "+list.get(i).toString()); } }}
下面这个是创建的学生类
package alice.bw.com.day10json.xmldemo;/** * @author alice * @version 1.0 * @Date 2017/10/11 15:28 */public class Student { private int no; private String name; private String sex; public Student(int no, String name, String sex) { this.no = no; this.name = name; this.sex = sex; } public Student() { } @Override public String toString() { return "Student{" + "no=" + no + ", name='" + name + '\'' + ", sex='" + sex + '\'' + '}'; } public int getNo() { return no; } public void setNo(int no) { this.no = no; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; }}
阅读全文
0 0
- 解析xml的字符串
- java解析xml字符串
- java解析xml字符串
- jdom 解析xml字符串
- 字符串xml 解析
- DOM 解析字符串XML
- C#解析XML字符串
- 解析xml字符串
- 解析xml字符串2
- DOM解析XML字符串
- Python解析XML字符串
- Python解析XML字符串
- 解析xml字符串
- jquery 解析XML字符串
- dom4j解析xml字符串
- DOM4J解析xml字符串
- dom4j解析xml字符串
- dom4j解析xml字符串
- C++语言为什么跨平台?
- VS工程配置属性设置
- JPA中MySQLSyntaxErrorException问题解决方案
- spoj 5 PALIN
- Pandas用法入门简介
- 解析XML字符串
- 【找规律】UVALive
- Linux性能评测工具之一:gprof篇
- mongoDB基础使用(三)
- Route-Policy 路由策略 实例详解
- 如何快速上手新业务
- Tolua++技术文档
- 重写ue4截图
- 哈哈哈TEST