pull解析和json编码
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 { @Override protected 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 block e.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; } } }
?
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。