题目内容

目前,在网络上传输数据时常用的格式主要有两种,即:XML和JSON,两者都以纯文本保存或传递数据。其中__________格式以结构化方式规定数据语义,不需要专门的语义标签,从而减少了数据冗余。

查看答案
更多问题

下面是以SAX方式解析XML文档程序片断,请根据注释在空白划线处填写代码。private void parseXMLWithSAX(String xmlData) {try {// 取得一个SAXParserFactory的实例对象factory(1)_______________________________________________;// 用factory对象新建SAXParser类对象,再取得它的XMLReader类对象xmlReader(2)_______________________________________________;// 创建一个自定义的SAX事件处理器类ContentHandler()的对象handler(3)_______________________________________________;// 将xmlReader的SAX事件处理器设置为handler(4)_______________________________________________;// 调用xmlReader的parse()方法设置要解析的输入源(5)_______________________ (new InputSource(new StringReader(xmlData)));} catch (Exception e) {e.printStackTrace();}}

____________是谷歌提供的解析JSON数据的开源库,可以将一段JSON格式的字符串自动映射成一个对象,从而不需要再手动去编写代码进行解析了。

现有如下解析JSON格式数据的程序片断,请并根据注释在空白划线处填写代码。String jsonData = [ {"id":"5","version":"5.5","name":"Angry Birds"}, {"id":"6","version":"7.0","name":"Clash of Clans"}, {"id":"7","version":"3.5","name":"Hey Day"}];private void parseJSONWithJSONObject(String jsonData) {try {// 将JSON格式字符串转换成JSON数组JSONArray jsonArray = (1)_____________________;for (int i = 0; i < jsonArray.length(); i++) {// 根据循环变量i取得JSON数组中JSON对象JSONObject jsonObject = (2)_____________________;int id =(3)_____________________;// 取得id的值String name =(4)_____________________;// 取得name的值Double version =(5)_____________________;// 取得version的值} } catch (Exception e) {e.printStackTrace(); }}

下面是以Pull方式解析XML文档程序片断,请根据注释在空白划线处填写代码。private void parseXMLWithPull(String xmlData) {try {// 新建一个XmlPullParserFactory类实例XmlPullParserFactory factory = (1)__________________________;// 调用factory对象方法新建一个XmlPullParser类实例XmlPullParser xmlPullParser = (2)_________________;// 先将XML格式字符串xmlData封装成StringReader对象,// 然后将其设置为xmlPullParser对象的输入流xmlPullParser.(3)_____________ ((4)_____________ (xmlData));// 调用xmlPullParser对象的方法取得需要解析的事件类型int eventType = (5)__________________________;String id = "";// 如果事件类型不是文档结束,则循环继续while ((6)_____________ != XmlPullParser.END_DOCUMENT) {// 调用xmlPullParser的方法取得当前节点名称String nodeName = (7)_________________;switch (eventType) {// 判断事件类型case XmlPullParser.START_TAG: {// 当前事件是开始标签if ("id".(8)_________________) {// 判断节点名是否是“id”id = (9)_________________;// 取得开始标签后的文本}break;}case XmlPullParser.END_TAG: {// 当前事件是结束标签if ("app".equals(nodeName)) {// 判断节点名是否是“app”Log.d("MainActivity", "id is " + id);}break;}default:break;}eventType = (10)_________________;// 取得下一个待解析事件类型}} catch (Exception e) {e.printStackTrace();}}

答案查题题库