`
- 浏览:
356147 次
- 性别:
- 来自:
北京
-
android解析xml文件 Android DOM解析XML之全球实时地震信息列表
- public class HttpGet extends Activity {
-
-
private ListView list;
-
- EarthQuakeInfo selectedQuake;
-
- ArrayAdapter adapter;
-
-
ArrayList infoList=new ArrayList();
-
-
@Override
-
-
protected void onCreate(Bundle savedInstanceState) {
-
-
super.onCreate(savedInstanceState);
-
-
this.setContentView(R.layout.main);
-
-
-
-
list=(ListView)this.findViewById(R.id.list);
-
-
adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,infoList);
-
-
-
- list.setAdapter(adapter);
-
-
getInfo();
-
- }
-
-
private void getInfo(){
-
- URL url;
-
-
try{
-
- String feed=getString(R.string.feed);
-
-
url=new URL(feed);
-
- URLConnection connection=url.openConnection();
-
- HttpURLConnection httpConnection=(HttpURLConnection)connection;
-
-
int responseCode=httpConnection.getResponseCode();
-
-
if(responseCode==HttpURLConnection.HTTP_OK){
-
- InputStream in=httpConnection.getInputStream();
-
- DocumentBuilderFactory dbfactory=DocumentBuilderFactory.newInstance();
-
- DocumentBuilder db=dbfactory.newDocumentBuilder();
-
-
-
- Document dom=db.parse(in);
-
- Element docEle=dom.getDocumentElement();
-
-
-
- infoList.clear();
-
-
-
-
NodeList nl=docEle.getElementsByTagName("entry");
-
-
if(nl!=null&&nl.getLength()>0){
-
-
for(int i=0;i<nl.getLength();i++){
-
- Element entry=(Element)nl.item(i);
-
-
Element title=(Element)entry.getElementsByTagName("title").item(0);
-
-
Element geo=(Element)entry.getElementsByTagName("georss:point").item(0);
-
-
Element when=(Element)entry.getElementsByTagName("updated").item(0);
-
-
-
- String details=title.getFirstChild().getNodeValue();
-
- String point=geo.getFirstChild().getNodeValue();
-
- String date=when.getFirstChild().getNodeValue();
-
-
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss'Z'");
-
-
Date qdate=new GregorianCalendar(0,0,0).getTime();
-
-
try{
-
- qdate=sdf.parse(date);
-
-
}catch (Exception e) {
-
-
e.printStackTrace();
-
- }
-
-
String[] location=point.split(" ");
-
-
Location loc=new Location("dummyGPS");
-
-
loc.setLatitude(Double.parseDouble(location[0]));
-
-
loc.setLongitude(Double.parseDouble(location[1]));
-
-
String magnitudeString=details.split(" ")[1];
-
-
int end=magnitudeString.length()-1;
-
-
double magnitude=Double.parseDouble(magnitudeString.substring(0,end));
-
-
details=details.split(",")[1].trim();
-
-
EarthQuakeInfo info=new EarthQuakeInfo(qdate,details,loc,magnitude);
-
-
-
- newEntry(info);
-
- }
-
- }
-
- }
-
-
}catch (Exception e) {
-
-
-
- }
-
- }
-
-
private void newEntry(EarthQuakeInfo info){
-
- infoList.add(info);
-
- adapter.notifyDataSetChanged();
-
- }
-
-
public class EarthQuakeInfo{
-
-
public Date date;
-
-
public String details;
-
-
public Location location;
-
-
public double magnitude;
-
-
public EarthQuakeInfo(Date d,String de,Location loc,double mag){
-
-
this.date=d;
-
-
this.details=de;
-
-
this.location=loc;
-
-
this.magnitude=mag;
-
- }
-
-
@Override
-
-
public String toString(){
-
-
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd' 'hh:mm:ss");
-
-
return sdf.format(date)+"\n里氏"+magnitude+"级"+details+"地点"+location;
-
- }
-
- }
-
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Android开发中,XML文件常用于存储数据或配置信息,如布局文件、资源文件等。本文将深入探讨如何使用DOM(Document Object Model)解析XML在Android应用中的实践。DOM解析方式允许开发者一次性加载整个XML文档到...
在Android开发中,XML文件广泛用于存储数据、配置和布局信息。DOM(Document Object Model)解析是处理XML文件的一种常用方法。DOM解析器将整个XML文档加载到内存中,形成一个树形结构,允许开发者通过节点操作来...
本文将深入探讨如何使用SAX、DOM和Pull解析器解析XML文件,以及如何生成XML文件。我们将同时展示Java和Kotlin两种语言的实现方法。 一、SAX解析XML文件 SAX(Simple API for XML)是一种事件驱动的解析器,它不会一...
DOM和SAX是两种常用的XML解析技术,它们在处理XML文档时各有特点和适用场景。 DOM(文档对象模型)解析XML文档是通过构建一个树形结构,将整个XML文档加载到内存中,形成一个节点层次。W3C官方推荐了DOM,使其成为...
在"XML解析之DOM"这一主题中,我们将深入探讨DOM解析器如何工作,以及如何通过DOM API获取XML文件中的信息。DOM解析器将整个XML文档加载到内存中,形成一个节点树,每个元素、属性、文本等内容都对应一个节点。这种...
本例使用多种方式获取本地XML文件,还有通过url获取XML文件,使用Android内置的PULL解析器对XML文件进行解析,例子是解析我国各个省市。 《Android解析XML文件》博文路径:...
**正文** XML(eXtensible Markup Language)...通过理解DOM解析的基本步骤和注意事项,开发者可以有效地读取、解析并利用XML文件中的信息。在实际项目中,根据具体需求和文件大小,选择合适的解析方式是非常重要的。
本篇文章将深入探讨如何使用DOM(文档对象模型)解析XML文件,并将其内容显示在应用程序的用户界面上。 首先,理解DOM解析的基本概念至关重要。DOM是一种标准,允许程序以树形结构访问和操作XML文档的全部内容。它...
- **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...
在Android开发中,XML文件广泛用于存储数据、配置和布局信息。XML(eXtensible Markup Language)是一种可扩展标记语言,它具有结构清晰、易于读写的特点,非常适合于应用程序间的数据交换。本教程将深入讲解如何在...
使用DOM解析的基本步骤包括创建`DocumentBuilderFactory`,通过`DocumentBuilder`解析XML文件,最后通过`Document`对象进行操作。 2. SAX解析器: SAX(Simple API for XML)是一种基于事件驱动的解析方式。它不会...
本篇文章将深入探讨DOM解析XML文件在Android中的应用实例。 首先,DOM解析的基本思想是将整个XML文件加载到内存中,形成一个树形结构,即DOM树。这样做的优点是解析后的数据可以方便地进行任意位置的查找和修改,但...
在这个例子中,我们将深入探讨如何使用DOM解析XML文件,以理解和掌握XML文档的结构,并进行数据提取、修改和创建。 首先,XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,具有自描述性和...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,特别是在移动应用开发,如Android中,解析XML文件是常见的任务。本篇将详细讲解Android中三种主要的XML解析方式:SAX(Simple API for XML)...
标题中的"DOM_XML.rar"可能是一个包含DOM解析XML相关示例的压缩文件,"DOM_dom xml_dom xml java_dom解析xml_java解析xml"这部分描述了文件的主要内容,即关于DOM(Document Object Model)在XML解析中的应用,特别...
总的来说,DOM解析方式在Android中适用于小型或中型XML文件,因为它将整个XML加载到内存,可以快速访问任何节点,但不适合处理大型XML文件。对于大型文件,更推荐使用SAX(Simple API for XML)或Pull解析器,它们以...
pull解析xml文件,和sax和dom一样 都可以脱离android单独使用,pull和sax的原理一样,不一样的地方是pull读取xml文件后调用方法返回的是数字, 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 ...
本文将深入探讨如何在Android中使用Pull解析器来处理XML文件,这是一种高效且节省资源的方式。 Pull解析器是Android提供的一个API,它允许应用程序通过事件驱动的方式解析XML文档。与SAX解析器类似,Pull解析器不...
本文将深入探讨如何在Android中使用Pull解析器解析XML文件。 一、XML Pull解析器简介 XML Pull解析器(XML Pull API)是一种基于事件驱动的解析模型,它不需预先加载整个XML文档,而是逐行读取,当遇到特定的XML...