`
- 浏览:
357022 次
- 性别:
- 来自:
北京
-
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文档加载到内存中,形成一个树形结构,允许开发者通过节点操作来...
XML文件通常用来存储配置信息、数据交换、文档结构等。 2. **Android中的XML使用** 在Android中,XML广泛应用于布局文件(如Activity的界面布局)、资源文件(如字符串、颜色、尺寸等)、动画定义、菜单定义以及...
总结来说,Android上使用DOM解析XML是一种常见且强大的方法,适用于处理小到中等大小的XML文件。通过理解DOM模型和相应的API,开发者可以高效地解析XML数据,为应用程序提供丰富的信息处理能力。然而,对于大型XML...
DOM和SAX是两种常用的XML解析技术,它们在处理XML文档时各有特点和适用场景。 DOM(文档对象模型)解析XML文档是通过构建一个树形结构,将整个XML文档加载到内存中,形成一个节点层次。W3C官方推荐了DOM,使其成为...
总结来说,DOM解析适合小规模、需频繁查询的XML文件;PULL解析适用于处理大型XML文件,节省内存;SAX解析则更注重内存效率,适用于流式处理。在实际开发中,开发者应根据项目需求选择合适的XML解析方式。而...
无论是读取XML文件,解析XML字符串,还是创建、修改和遍历XML结构,DOM4J都提供了简洁的接口,极大地简化了开发者的工作。在实际的开发中,掌握DOM4J的使用,能够帮助你更有效地处理XML数据,提高代码的可维护性和...
在"XML解析之DOM"这一主题中,我们将深入探讨DOM解析器如何工作,以及如何通过DOM API获取XML文件中的信息。DOM解析器将整个XML文档加载到内存中,形成一个节点树,每个元素、属性、文本等内容都对应一个节点。这种...
本例使用多种方式获取本地XML文件,还有通过url获取XML文件,使用Android内置的PULL解析器对XML文件进行解析,例子是解析我国各个省市。 《Android解析XML文件》博文路径:...
在Android应用开发中,选择DOM还是Pull解析通常取决于XML文件的大小和应用场景。对于小规模的数据交换,DOM解析提供了更简单的接口;而对于大数据量或流式处理,Pull解析更为合适。通过学习和实践这两种解析方式,...
**正文** XML(eXtensible Markup Language)...通过理解DOM解析的基本步骤和注意事项,开发者可以有效地读取、解析并利用XML文件中的信息。在实际项目中,根据具体需求和文件大小,选择合适的解析方式是非常重要的。
本篇文章将深入探讨如何使用DOM(文档对象模型)解析XML文件,并将其内容显示在应用程序的用户界面上。 首先,理解DOM解析的基本概念至关重要。DOM是一种标准,允许程序以树形结构访问和操作XML文档的全部内容。它...
- **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...
在Android开发中,XML文件广泛用于存储数据、配置和布局信息。XML(eXtensible Markup Language)是一种可扩展标记语言,它具有结构清晰、易于读写的特点,非常适合于应用程序间的数据交换。本教程将深入讲解如何在...
本篇文章将深入探讨三种在Android中解析XML的方法:DOM(文档对象模型)、Pull(拉取解析器)和SAX(简单API for XML),并且会特别强调如何识别文件编码。 首先,DOM解析是将整个XML文件加载到内存中形成一个树形...
使用DOM解析的基本步骤包括创建`DocumentBuilderFactory`,通过`DocumentBuilder`解析XML文件,最后通过`Document`对象进行操作。 2. SAX解析器: SAX(Simple API for XML)是一种基于事件驱动的解析方式。它不会...
本篇文章将深入探讨DOM解析XML文件在Android中的应用实例。 首先,DOM解析的基本思想是将整个XML文件加载到内存中,形成一个树形结构,即DOM树。这样做的优点是解析后的数据可以方便地进行任意位置的查找和修改,但...
本文通过一个具体的例子介绍了如何使用DOM解析器在Android应用中解析XML文件。这种方法适用于处理相对较小的XML文件,因为它需要将整个XML文档加载到内存中。如果处理大型文件或者有性能要求的应用场景,可能需要...
在这个例子中,我们将深入探讨如何使用DOM解析XML文件,以理解和掌握XML文档的结构,并进行数据提取、修改和创建。 首先,XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,具有自描述性和...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,特别是在移动应用开发,如Android中,解析XML文件是常见的任务。本篇将详细讲解Android中三种主要的XML解析方式:SAX(Simple API for XML)...