`
dyllove98
  • 浏览: 1409365 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:39184
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:80261
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:133386
社区版块
存档分类
最新评论

android之xml解析

阅读更多

欢迎大家访问我的个人网站 萌萌的IT人,后续所有的文章都会在此发布

--------------------------------------------------------------------------------------------

简单介绍一下我在用DOM解析方法时遇到的问题:

获取节点的属性时,老是出错误,后面经过多方查找
终于解决,方法如下:
data[i] = nChild.getAttributes().getNamedItem("data").getNodeValue();
其中"data"为属性的名字.


源代码如下:

public class test extends Activity implements OnClickListener {

    File fl;

    private final String net = "http://www.google.com/ig/api?hl=zh-cn&weather=";

    private final String st = "beijing";

    private String addr;

    private String str;

    ListView lv;

    ArrayAdapter<String> adapter;

    private EditText et;

    private TextView tv;

    private TextView tv1;

 

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.main);

 

       Button bt = (Button) findViewById(R.id.bt);

       bt.setOnClickListener(this);

       et = (EditText) findViewById(R.id.et);

 

    }

    @Override

    public void onClick(View agr0) {

       // TODO Auto-generated method stub

       addr = et.getText().toString();

       switch (agr0.getId()) {

       case R.id.bt:

           if (!addr.trim().equals("")) {  //获取输入的内容,取出空格

              addr = net + addr;

              String[] data = null;

              //Node nRoot = root(addr,"weather").item(0);         //将weather设置为根节点

              Node nRoot = root(addr,"forecast_information").item(0);

              NodeList child = nRoot.getChildNodes();            //获得孩子结点

             

              int childSize = child.getLength();                 //获得子节点的个数  6

                 

              data = new String[childSize];

              for (int i = 0; i < childSize; i++) {

                  Node nChild = child.item(i);                 //第一个子节点,city

                      if (nChild.hasAttributes()) {          //获得子节点

//获得节点属性

data[i] = nChild.getAttributes().getNamedItem("data").getNodeValue();

                        

                     }

                    

                     tv = (TextView) findViewById(R.id.tv);

                     tv.setText("city : "  + data[1]);

             

                     tv1 = (TextView) findViewById(R.id.tv2);

                     tv1.setText("date :" + data[4]);

                   }

               }

               setTitle(et.getText().toString());  //显示查询的城市

           break;

       }

       }

    //}

 

    private NodeList root(final String url ,  final String str){

       NodeList root = null;

       try{

       InputSource is=new InputSource(new InputStreamReader(new URL(url).openStream()));

       DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

           DocumentBuilder dom = factory.newDocumentBuilder();

           Document doc = dom.parse(is);

           root = doc.getElementsByTagName(str);

          

          

       }catch (Exception e){

           e.printStackTrace();

       }

       return root;

    }

}

 

分享到:
评论

相关推荐

    android 之xml解析大全

    本篇文章将详细探讨Android中四种主要的XML解析方法:SAXParser、Document、XMLResource和VTDGen。 1. SAXParser(Simple API for XML) SAXParser是基于事件驱动的解析器,适用于处理大型XML文档。它不会一次性...

    android xml pull解析示例

    在Android系统中,XML Pull解析是一种轻量级且高效的解析XML文档的方法,它允许应用程序按需读取XML文档的节点,而无需加载整个文档到内存中。以下是关于Android XML Pull解析的详细知识讲解。 1. **XML Pull解析器...

    android下解析xml文件的demo

    在Android应用中,我们通常使用两种方式来解析XML:DOM(Document Object Model)解析器和SAX(Simple API for XML)解析器。 1. DOM解析: DOM解析器将整个XML文件加载到内存中,形成一个树形结构,可以方便地遍历...

    android java xml 解析生成jar

    本主题将详细讲解如何在Android环境中利用Java进行XML解析,并生成JDOM库的jar文件。 XML解析在Android中的重要性不言而喻,因为XML常被用来描述应用程序的配置、布局,甚至是网络通信的数据交换格式。Java提供了...

    android xml多种解析生成

    Android XML 多种解析生成 Android 平台中,XML 文件解析和生成是非常重要的一部分。XML 文件可以存储和交换结构化数据,广泛应用于 Android 应用程序中。本文将介绍 Android 中使用多种解析和生成 XML 文件的方法...

    六,Android Xml解析

    XML解析是将XML文档转换为Java对象的过程,这对于Android应用程序的资源配置、布局定义以及数据交换至关重要。这篇博文将深入探讨Android中的XML解析机制,包括DOM、SAX和Pull解析器三种主要方法。 首先,我们来看...

    Android解析XML文件

    本例使用多种方式获取本地XML文件,还有通过url获取XML文件,使用Android内置的PULL解析器对XML文件进行解析,例子是解析我国各个省市。 《Android解析XML文件》博文路径:...

    Android XML 解析笔记

    Android支持多种XML解析技术,包括DOM、SAX和Pull解析。每种方法都有其特定的优势和应用场景。 #### DOM解析XML DOM(Document Object Model)解析是一种将整个XML文档加载到内存中,并构建出一棵树状结构(称为DOM...

    Android中XML数据解析

    本文将深入探讨在Android中如何解析XML数据,包括DOM、SAX和Pull解析器三种方法。 首先,DOM(Document Object Model)解析器将整个XML文档加载到内存中,形成一个树形结构,然后可以遍历这个结构来访问和修改XML...

    android下XML解析源码

    Android提供了两种主要的XML解析方式:DOM(Document Object Model)和Pull解析器。下面我们将详细探讨这两种解析方法及其在Android下的实现原理。 **DOM解析** DOM解析器将整个XML文档加载到内存中,形成一个树形...

    android之Pull解析XML文件

    - 使用异步任务处理XML解析,避免阻塞主线程。 总结,Android的Pull解析XML文件是一种高效、节省资源的解析方式,适用于网络通信中的数据交换。通过创建Pull解析器实例,监听XML事件,以及适当优化,开发者可以...

    android XML本地解析实例

    二、Android中的XML解析实例 1. DOM解析实例: ```java DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = ...

    Android 解析xml实现类似网易客户端源码

    首先,让我们了解XML解析的基本概念,然后探讨在Android中实现这一功能的关键技术和步骤。 XML是一种自描述性的标记语言,它允许我们定义自己的标签来表示数据。在Android中,有两种主要的XML解析方式:DOM...

    Android review xml 解析 生成

    本篇将深入探讨Android中的XML解析,包括DOM解析、SAX解析和Pull解析,以及如何生成XML文件。 1. DOM解析: DOM(Document Object Model)是一种将XML文档转化为树形结构的方法,允许开发者通过节点遍历和操作XML...

    android xml文件解析 SAX

    SAX是一种事件驱动的XML解析器,它不会像DOM解析器那样将整个XML文档加载到内存中,而是逐行读取,遇到每个元素或属性时触发相应的事件回调。这种方式节省了内存,特别适合处理大型XML文件。 1. **SAX解析的基本...

    Android XML 解析 写入

    本篇将详细探讨Android中的XML解析,特别是PULL解析方式,并讲解如何进行XML的写入操作。 ### 1. Android XML解析概述 XML解析器分为两种主要类型:DOM(Document Object Model)和PULL(Pull Parser)。DOM解析器...

    Android Dom解析XML

    本文将深入探讨如何使用DOM(Document Object Model)解析XML在Android应用中的实践。DOM解析方式允许开发者一次性加载整个XML文档到内存中,形成一个树形结构,便于遍历和操作。尽管对于大型XML文件,DOM解析可能因...

    android 解析XML文件 生成XML文件

    在Android开发中,XML文件广泛用于存储数据、配置文件以及应用...以上是Android环境中XML解析与生成的基础知识,实际应用中可能需要根据需求进行扩展和优化。XMLdemo项目应包含了这些方法的完整实现,可供学习和参考。

    Android XML解析(DOM、PULL、SAX三种方式)

    Android系统提供了三种主要的XML解析方式:DOM(Document Object Model)、PULL(Pull Parser)和SAX(Simple API for XML)。每种方法都有其独特的特性和应用场景,下面将详细介绍这三种XML解析方式。 1. DOM解析...

Global site tag (gtag.js) - Google Analytics