读取XML与JSON格式数据是Android开发中经常用到的操作,下面将根据这个话题给出一个完整攻略,包括从获取XML与JSON数据到解析并展示的过程。
获取XML数据
1. 添加网络权限
在AndroidManifest.xml文件中添加网络权限。
<uses-permission android:name="android.permission.INTERNET" />
2. 获取数据
使用HttpURLConnection或者HttpClient类获取XML数据,代码示例如下:
String urlString = "http://example.com/data.xml";
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
InputStream stream = conn.getInputStream();
3. 解析XML数据
使用DOM解析器解析XML数据,并获取其中的节点,代码示例如下:
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(stream);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("items");
for(int i = 0; i < nList.getLength(); i++) {
Node node = nList.item(i);
if(node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
String name = element.getElementsByTagName("name").item(0).getTextContent();
String price = element.getElementsByTagName("price").item(0).getTextContent();
// 使用获取到的节点信息进行操作
}
}
获取JSON数据
1. 添加网络权限
在AndroidManifest.xml文件中添加网络权限。
<uses-permission android:name="android.permission.INTERNET" />
2. 获取数据
使用HttpURLConnection或者HttpClient类获取JSON数据,代码示例如下:
String urlString = "http://example.com/data.json";
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
InputStream stream = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
StringBuilder sb = new StringBuilder();
String line = "";
while((line = reader.readLine()) != null) {
sb.append(line);
}
String jsonString = sb.toString();
3. 解析JSON数据
使用JSON解析器解析JSON数据,并获取其中的节点,代码示例如下:
JSONArray jsonArray = new JSONArray(jsonString);
for(int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String name = jsonObject.getString("name");
String price = jsonObject.getString("price");
// 使用获取到的节点信息进行操作
}
参考上述攻略,我们就可以方便地获取并解析XML和JSON格式的数据了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android App中读取XML与JSON格式数据的基本方法示例 - Python技术站