从网络请求回来的数据格式可能是.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树”的更多相关文章

  1. android json解析及简单例子+Android与服务器端数据交互+Android精彩案例【申明:来源于网络】

    android json解析及简单例子+Android与服务器端数据交互+Android精彩案例[申明:来源于网络] android json解析及简单例子:http://www.open-open. ...

  2. 在Winform中直接录入表格数据和在Vue&Elment中直接录入表格数据的比较

    一般来说,录入数据的时候,我们都采用在一个窗体界面中,根据不同内容进行录入,但是有时候涉及主从表的数据录入,从表的数据有时候为了录入方便,也会通过表格控件直接录入.在Winform开发的时候,我们很多 ...

  3. android菜鸟学习笔记25----与服务器端交互(二)解析服务端返回的json数据及使用一个开源组件请求服务端数据

    补充:关于PHP服务端可能出现的问题: 如果你刚好也像我一样,用php实现的服务端程序,采用的是apache服务器,那么虚拟主机的配置可能会影响到android应用的调试!! 在android应用中访 ...

  4. Android解析中国天气网的Json数据

    在Android开发中.一般的APP都是通过获取server端的数据来更新UI.从server获取到的数据能够是Json.它的数据量要比XML要小,这里解析中国天气网上获取的数据,尽管已经不再更新了. ...

  5. C#服务端通过Socket推送数据到Android端App中

    需求: 描述:实时在客户端上获取到哪些款需要补货. 要求: 后台需要使用c#,并且哪些需要补货的逻辑写在公司框架内,客户端采用PDA(即Android客户端 版本4.4) . 用户打开了补货通知页面时 ...

  6. Unity3d 与 Objective-C 数据交互,持续更新中

    Unity 3D是用于3D游戏编程的语言,它是一个用C\C++编写的强大的库.而在游戏中经常要接入用OC编写的SDK,这就涉及到了Unity3d 和 OC之间的数据交互.XCode是完成兼容C语言的. ...

  7. androidclient和站点数据交互的实现(基于Http协议获取数据方法)

    androidclient一般不直接訪问站点数据库,而是像浏览器一样发送get或者post请求.然后站点返回client能理解的数据格式,client解析这些数据.显示在界面上.经常使用的数据格式是x ...

  8. (网络数据交互)Android解析Internet的Json资源文件

    常用的Internet数据解析格式和工具: 网页显示的json数据如下: {"type":"FeatureCollection","metadata& ...

  9. 【Android】Intent中使用Extra传递数据

    传值方法一 Intent intent = new Intent(); Bundle bundle = new Bundle(); //该类用作携带数据 bundle.putString(" ...

随机推荐

  1. 阿里云服务器配置SSL证书成功开启Https(记录趟过的各种坑)

    环境: 阿里云云服务器    Windows Server 2008 标准版 SP2 中文版(趁1212优惠买的一年的水货配置) 阿里云购买的域名(已备案.已解析) 服务器:phpstudy:php5 ...

  2. ZOJ 4057 XOR Clique(位运算)

    XOR Clique BaoBao has a sequence a​1​,a​2,...,a​n. He would like to find a subset S of {1,2,...,n} s ...

  3. 20165206 2017-2018-2 《Java程序设计》第二周学习总结

    20165205 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 java语言共有8种基本数据类型,分别是boolean.byte.short.char.in ...

  4. OpenSSL + Windows 下载安装

    Download Win32 OpenSSLhttps://slproweb.com/products/Win32OpenSSL.htmlhttps://wiki.openssl.org/index. ...

  5. UE4 ShooterGame Demo的开火的代码

    之前一直没搞懂按下鼠标左键开火之后,代码的逻辑是怎么走的,今天看懂了之前没看懂的部分,进了一步 ShooterCharacter.cpp void AShooterCharacter::OnStart ...

  6. F. 数学上来先打表

    题解: 搞这题搞了一天 思维不是很难 就是暴力压位bitset 分块做法速度更快 但是stl里的不能实现这个功能 所以手动实现 64位压一位 到65535跑一下1的个数 然后(x>>16) ...

  7. php7安装参数编译

    系统:Centos6.8 软件包:php-7.0.14.tar.gz yum install bzip2 bzip2-devel -y yum install curl curl-devel -y y ...

  8. python全栈开发day92-day96 Vue总结

    -- ES6常用语法 -- var let const -- 模板字符串 -- 反引号 -- ${} -- 箭头函数 -- 普通函数取决于函数最近的调用者 -- 箭头函数取决当前环境 -- 类 -- ...

  9. NOI2018Day2T1 屠龙勇士 set 扩展欧几里德 中国剩余定理

    原文链接https://www.cnblogs.com/zhouzhendong/p/NOI2018Day2T1.html 题目传送门 - 洛谷P4774 题意 题解 首先我们仔细看一看样例可以发现如 ...

  10. Python re模块, xpath 用法

    1.re正则的用法总结 (1). ^ 表示以哪个字符为开头      eg:  '^g' 表示以g开头的字符串      . 表示任意字符 '^g.d'  表示以g开头第二个为任意字符,第三个为b的字 ...