(网络数据交互)Android解析Internet中的DOM树数据 “DOM树”
从网络请求回来的数据格式可能是.xml文件格式,常见的有:DOM树结构,下面讲述如何解析。具体可以参考博客文章:http://www.cnblogs.com/shenliang123/archive/2012/05/11/2495252.html

解析方式如下:
if (responseCode == httpURLConnection.HTTP_OK) {
LogUtil.d(TAG, "refreshEarthquakes::HttpURLConnection.HTTP_OK");
InputStream in = httpURLConnection.getInputStream();
DocumentBuilderFactory dbf = DocumentBuilderFactory
.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document dom = db.parse(in);
Element docEle = dom.getDocumentElement();
quakeData.clear();
// xml文件的<event>标签的个数
NodeList nl = docEle.getElementsByTagName("event");
LogUtil.d(TAG,
"refreshEarthquakes::nl.getLength=" + nl.getLength());
if (nl != null && nl.getLength() > 0) {
// 若对应有1个或多个<event>元素,遍历单个<event>元素;每一个<event>都生成一个Quake实例
for (int i = 0; i < nl.getLength(); i++) {
// 对应一个<event>标签元素
Element entry = (Element) nl.item(i);
// 获取到名称
String quakeName = entry.getElementsByTagName("text")
.item(0).getTextContent();
LogUtil.d(TAG, "name=" + quakeName);
// 获取时间
String quakeTime = entry.getElementsByTagName("time")
.item(0).getTextContent();
LogUtil.d(TAG, "quakeTime=" + quakeTime);
// 获取等级
Node magNode = entry.getElementsByTagName("mag")
.item(0);
String magnitude = magNode.getChildNodes().item(0)
.getTextContent();
double value = Double.parseDouble(magnitude);
// 获取其下的子节点
LogUtil.d(TAG, "magnitude = " + magnitude);
// 生成一个Quake实例
final Quake quake = new Quake(quakeTime, quakeName,
null, value, null);
handler.post(new Runnable() {
@Override
public void run() {
addNewQuake(quake);
}
});
}
}
}
根据标签名获取到节点树,比如上述的节点名:text(但必须保证该节点名是唯一的);另一种方式:通过节点名获取到其下的NodeList实例,也就是获取到节点列表,再获取到内容即可。

(网络数据交互)Android解析Internet中的DOM树数据 “DOM树”的更多相关文章
- android json解析及简单例子+Android与服务器端数据交互+Android精彩案例【申明:来源于网络】
android json解析及简单例子+Android与服务器端数据交互+Android精彩案例[申明:来源于网络] android json解析及简单例子:http://www.open-open. ...
- 在Winform中直接录入表格数据和在Vue&Elment中直接录入表格数据的比较
一般来说,录入数据的时候,我们都采用在一个窗体界面中,根据不同内容进行录入,但是有时候涉及主从表的数据录入,从表的数据有时候为了录入方便,也会通过表格控件直接录入.在Winform开发的时候,我们很多 ...
- android菜鸟学习笔记25----与服务器端交互(二)解析服务端返回的json数据及使用一个开源组件请求服务端数据
补充:关于PHP服务端可能出现的问题: 如果你刚好也像我一样,用php实现的服务端程序,采用的是apache服务器,那么虚拟主机的配置可能会影响到android应用的调试!! 在android应用中访 ...
- Android解析中国天气网的Json数据
在Android开发中.一般的APP都是通过获取server端的数据来更新UI.从server获取到的数据能够是Json.它的数据量要比XML要小,这里解析中国天气网上获取的数据,尽管已经不再更新了. ...
- C#服务端通过Socket推送数据到Android端App中
需求: 描述:实时在客户端上获取到哪些款需要补货. 要求: 后台需要使用c#,并且哪些需要补货的逻辑写在公司框架内,客户端采用PDA(即Android客户端 版本4.4) . 用户打开了补货通知页面时 ...
- Unity3d 与 Objective-C 数据交互,持续更新中
Unity 3D是用于3D游戏编程的语言,它是一个用C\C++编写的强大的库.而在游戏中经常要接入用OC编写的SDK,这就涉及到了Unity3d 和 OC之间的数据交互.XCode是完成兼容C语言的. ...
- androidclient和站点数据交互的实现(基于Http协议获取数据方法)
androidclient一般不直接訪问站点数据库,而是像浏览器一样发送get或者post请求.然后站点返回client能理解的数据格式,client解析这些数据.显示在界面上.经常使用的数据格式是x ...
- (网络数据交互)Android解析Internet的Json资源文件
常用的Internet数据解析格式和工具: 网页显示的json数据如下: {"type":"FeatureCollection","metadata& ...
- 【Android】Intent中使用Extra传递数据
传值方法一 Intent intent = new Intent(); Bundle bundle = new Bundle(); //该类用作携带数据 bundle.putString(" ...
随机推荐
- 函数sigsuspend
sigqueue函数原型: 函数作用:新的发送信号系统调用,主要是针对实时信号提出的支持信号带有参数,与函数sigaction()配合使用 int sigqueue(pid_t pid, int si ...
- 用Photoshop扭曲滤镜工具打造旋转的光束效果
原文:https://www.w3cschool.cn/photoshopgjjc/dthfn1.html 教程与已往的不同,作者加上了一些新的步骤如锐化等,出来的效果也有所改进.大致过程:先用滤镜制 ...
- Go语言之匿名函数
匿名函数和字面量函数一样, 凡是可以使用字面量函数的地方,都可以用匿名函数代替. 这个和js中的匿名函数差不多吧. package main import "fmt" var su ...
- 【BZOJ2212】[POI2011]Tree Rotations (线段树合并)
题解: 傻逼题 启发式合并线段树里面查$nlog^2$ 线段树合并顺便维护一下$nlogn$ 注意是叶子为n 总结点2n 代码: #include <bits/stdc++.h> usin ...
- [SDOI2018]荣誉称号
题解: 并不需要什么算法 首先我们随便画一画就会发现 能画出一颗满二叉树 然后要满足每个点从上往下的路径和都相同(%m意义下) 一个点上可能对应了多个点 然后这样我们可以暴力dp $2^k*m^2+n ...
- 跨域资源共享 CORS 详解(转自阮一峰博客)
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从 ...
- Python_二维数组
例1:将数组旋转90度 a = [[i for i in range(4)] for n in range(4)] print(a) # 遍历大序列 for a_index, w in enumera ...
- zip文件解压工具类
java解压zip文件 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io. ...
- logging日志文件配置
Django配置如下 简洁版: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console' ...
- MarkdownPad 2在win10上安装及破解(含安装包)
MarkdownPad 2 是一款较不错的Markdown编辑器,可快速将文本转换为美观的HTML/XHTML的网页格式代码,且操作方便,用户可以通过键盘快捷键和工具栏按钮来使用或者移除Markdow ...