pull解析和json编码
16lz
2021-01-24
n.json文件:
[{name:java,lan:c++,age:17},{name:android,lan:java,age:8}]
pull.xml文件
<?xml version="1.0" encoding="utf-8"?>
<stu>
<name>java</name>
<age>20</age>
<sex>男</sex>
</stu>
<stu>
<name>android</name>
<age>23</age>
<sex>女</sex>
</stu>
解析pull.xml和json
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void parse(View view) {// 创建xml解析器try {// 设置解析器// XmlPullParser parser = XmlPullParserFactory.newInstance()// .newPullParser();XmlPullParser parser = Xml.newPullParser();// 设置解析的数据源InputStream ips = this.getAssets().open("pull.xml");// 设置解析格式parser.setInput(ips, "UTF-8");// 设置解析时,可能触发的事件类型int type = parser.getEventType();while (type != XmlPullParser.END_DOCUMENT) {switch (type) {case XmlPullParser.START_DOCUMENT:break;case XmlPullParser.START_TAG:// 获取元素的名字String name = parser.getName();if (name.equals("name")) {String str = parser.nextText();System.out.println(str);} else if (name.equals("age")) {String age = parser.nextText();System.out.println(age);} else if (name.equals("sex")) {String sex = parser.nextText();System.out.println(sex);}break;case XmlPullParser.END_TAG:break;}type = parser.next();}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}// json解析数据public void JosnParse(View view) {switch (view.getId()) {case R.id.josnBtn:try {// 使用Json解析数据InputStream is = this.getAssets().open("n.json");byte[] by = new byte[is.available()];is.read(by);String josnStr = new String(by);// 定义解析器JSONTokener tokener = new JSONTokener(josnStr);// 获取json的数据JSONArray array = (JSONArray) tokener.nextValue();for (int i = 0; i < array.length(); i++) {// 将获取的到数组转化成对象JSONObject obj = (JSONObject) array.get(i);// 解析出对象属性的值String name = obj.getString("name");String lan = obj.getString("lan");String age = obj.getString("age");System.out.println(name + "<><>" + lan + "<><>" + age);}} catch (Exception e) {e.printStackTrace();}break;}}}
更多相关文章
- Linux Mint下Kindle Fire调试android程序
- android 终端上使用gcc
- android CTS test
- 【Android】删除已知路径的文件或文件夹
- Android面试题目(10) 内存泄露
- android studio 配置ffmpeg
- Android(安卓)Audio AudioTrack::write函数
- Android设置界面之Preference
- mac下反编译android apk