Android与XML解析 Android开发技术

  XML是一种常用的存储数据方式,在Android平台中内部很多地方使用了XML存储,比如轻量级的SharedPreferences类的存储其实保存在Data/data/[package name]/db。如果你使用的不是Android Dev Phone或没有Root权限,可以通过Android模拟器来查看。

  XML解析主要有三种方式,SAX、DOM、PULL。常规在PC上开发我们使用Dom相对轻松些,但一些性能敏感的数据库或手机上还是主要采用SAX方式,SAX读取是单向的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方便。而DOM方式会把整个XML文件加载到内存中去,这里Android开发网提醒大家该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,而PULL常常用在J2ME对于节点处理比较好,类似SAX方式,同样很节省内存,在J2ME中我们经常使用的KXML库来解析。

  XML解析实例:-天气预报程序的开发:

  Google为我们提供了很多利用天气预报的程序开发,比如MyLocation API和Google Weather API,这里我们就以中国上海来举例,查询上海天气我们执行http://www.google.com/ig/api?weather=Shanghai,China 可以看到,最后的weather=后面就是城市的拼音名称。

  完整的XML文件结构为:

  <?xml version="1.0" ?>

<xml_api_reply version="1">

<weather module_id="0" tab_id="0">

<forecast_information>

  <city data="Shanghai,China" />

  <postal_code data="Shanghai,China" />

  <latitude_e6 data="" />

  <longitude_e6 data="" />

  <forecast_date data="2008-12-17" />

  <current_date_time data="2008-12-17 16:00:00 +0000" />

  <unit_system data="SI" />

  </forecast_information>

<current_conditions>

  <condition data="雾霾" />

  <temp_f data="52" />

  <temp_c data="11" />

  <humidity data="湿度: 67%" />

  <icon data="/images/weather/haze.gif" />

  <wind_condition data="风向: 西、风速:6 (公里/小时)" />

  </current_conditions>

<forecast_conditions>

  <day_of_week data="今天" />

  <low data="5" />

  <high data="16" />

  <icon data="/images/weather/sunny.gif" />

  <condition data="" />

  </forecast_conditions>

<forecast_conditions>

  <day_of_week data="周四" />

  <low data="2" />

  <high data="11" />

  <icon data="/images/weather/sunny.gif" />

  <condition data="" />

  </forecast_conditions>

<forecast_conditions>

  <day_of_week data="周五" />

  <low data="5" />

  <high data="15" />

  <icon data="/images/weather/mostly_sunny.gif" />

  <condition data="以晴为主" />

  </forecast_conditions>

<forecast_conditions>

  <day_of_week data="周六" />

  <low data="5" />

  <high data="16" />

  <icon data="/images/weather/sunny.gif" />

  <condition data="" />

  </forecast_conditions>

  </weather>

  </xml_api_reply>

怎么样是不是很方便呢?解析的方法,我们可以通过android自带的org.xml.sax.库来解决。完整的工程源代码我们稍后提供下载。

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号