项目中经常会用到一些原始的xml文件,那么我们可以定义一些xml供程序使用,xml文件放置在res\xml目录下,通过Resources.getXML()方法访问。
import java.io.IOException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class TestXmlActivity extends Activity {
private TextView myTextView = null;
private Button myButton = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_xml);
myTextView = (TextView) findViewById(R.id.xmlContentTextView01);
myButton = (Button) findViewById(R.id.xmlTestButton1);
myButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int counter = 0;
StringBuilder sb = new StringBuilder("");
Resources r = getResources();
XmlResourceParser xrp = r.getXml(R.xml.test);
try {
// 当没有达到xml的逻辑结束终点
// getEventType方法返回读取xml当前的事件
while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {
if (xrp.getEventType() == XmlResourceParser.START_TAG) {
String name = xrp.getName();
System.out.println(name);
if (name.equals("customer")) // 查找符合条件的
{
counter++; // 统计第几个节点
sb.append("第" + counter + "条客户信息:" + "\n");
sb.append(xrp.getAttributeValue(0) + "\n");
sb.append(xrp.getAttributeValue(1) + "\n");
sb.append(xrp.getAttributeValue(2) + "\n");
sb.append(xrp.getAttributeValue(3) + "\n");
}
}// 当读取到xml节点是一个元素的尾标记时
else if (xrp.getEventType() == XmlPullParser.END_TAG) {
// 控制台输出xml节点结束
System.out.println(xrp.getName() + "---End!");
} // 当读取到xml节点是文本时
else if (xrp.getEventType() == XmlPullParser.TEXT) {
// 输出文本
sb.append("姓名:" + xrp.getText() + "\n\n");
}
xrp.next();
}
myTextView.setText(sb.toString());
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
分享到:
相关推荐
### Android平台上的XML文件解析技术 #### 一、概述 在Android开发中,XML文件的解析是一项常见的任务。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,广泛应用于配置文件、数据交换等领域。Android...
// 获取XML文件输入流 saxParser.parse(is, new MyHandler()); is.close(); ``` 注意:这里假设XML文件已作为资源文件(如`res/raw/xmlFile.xml`)包含在项目中。 五、优化和注意事项 1. 异常处理:在解析过程中...
- 使用`getElementsByTagName()`等方法获取XML节点,并通过`getTextContent()`或`getAttributes()`等方法获取节点内容和属性。 2. SAX解析: SAX解析器是事件驱动的,它逐行读取XML文件,遇到每个元素时触发相应的...
android中读写xml文件简单demo,可以通过此代码来简单的读取xml配置文件
1. **Android读取Excel文件**: - Android本身并不支持直接读取Excel文件,因为这些文件通常由Microsoft Office或类似的桌面应用程序创建。要读取Excel文件,需要引入第三方库,如jxl.jar,这是一个Java库,可以...
本文实例为大家分享了Android读取XML文件中数据的具体代码,供大家参考,具体内容如下 读取XML中存储的数据。将xmlfile.xml存放在assets文件夹中。在activity_main.xml中创建一个textview,用来显示读取到的数据。 ...
下面我们将详细讨论Android中XML读写的包和方法。 1. **包功能介绍** - `javax.xml`:包含XML规范定义的核心常量和功能。 - `javax.xml.parsers`:提供DOM和SAX解析XML文档的方法。 - `org.w3c.dom`:W3C提供的...
本文将深入探讨在Android中如何解析XML数据,包括DOM、SAX和Pull解析器三种方法。 首先,DOM(Document Object Model)解析器将整个XML文档加载到内存中,形成一个树形结构,然后可以遍历这个结构来访问和修改XML...
1. **获取XML数据**:首先,你需要通过HTTP请求获取XML文件。这通常使用`HttpURLConnection`或`OkHttp`库来完成。以下是一个使用`HttpURLConnection`的基本示例: ```java URL url = new URL(...
了解这些解析方法后,你可以通过Android SDK提供的API实现XML解析,如`SAXParser`、`DocumentBuilderFactory`(用于DOM)和`XmlPullParser`(用于PULL)。在实际编码过程中,记得为解析异常添加适当的错误处理,以...
3. **初始化Fragment**:虽然在XML中已声明了Fragment,但还需要在Activity的`onCreate()`方法中进行初始化。这通常通过`FragmentManager`和`FragmentTransaction`完成。由于是静态添加,我们无需执行添加操作,但...
android 读取xml文件 博客地址:http://blog.csdn.net/dadaxiaoxiaode/article/details/9618945
总之,"获取XML中使用的控件(Version 0.1)-32位"是一个实用的辅助工具,它可以帮助Android开发者更高效地处理XML布局文件,减少重复劳动,提高开发效率。对于初学者或大型项目来说,这是一个值得尝试的好帮手。
SAX(Simple API for XML)是一种事件驱动的解析器,它不会一次性加载整个XML文档到内存,而是逐行读取,遇到元素、属性等时触发相应的事件。这种解析方式适用于处理大型XML文件,节省内存资源。以下是在Java和...
本文将深入探讨在Android环境中解析XML的四种主要方法:DOM、SAX、Pull Parser以及XMLPullParser。 1. DOM解析器: DOM(Document Object Model)是一种将XML文档加载到内存中形成一棵树形结构的方法。它一次性读取...
在Android中,选择合适的XML解析方法主要取决于具体的需求和资源限制。如果XML文档较小,DOM解析可能是简便的选择。然而,对于大文件或嵌入式环境,SAX或XMLPullParser通常更优,因为它们更节省资源。 下面是一个...
本篇将深入探讨Android中解析XML文件的方法,以及如何通过示例代码`ReadXmlConfigFile`来实现这一过程。 ### XML解析器类型 Android提供了多种解析XML的方式,主要包括以下几种: 1. **DOM解析器**:Document ...
本篇将深入探讨XML在Android中的操作,包括XML的读取(Pull解析)和XML的生成。 一、XML Pull解析 1.1 Pull解析器介绍 XML Pull解析是一种轻量级、低内存占用的解析方式,适用于移动设备。它不创建DOM树,而是通过...
Android 从网络上获取天气XML文档的方法,由此可扩展出一个简单的Android 天气预报程序。本源码中,你将会了解到从网络上获取图片数据的方法、获取天气XML文档的方法、翻译风速字符串的方法、翻译当前风向字符串的...
在Android开发中,处理XML数据是一项常见的任务,无论是从服务器获取数据还是本地文件解析,XML因其结构化的特性被广泛使用。本篇文章将详细介绍如何利用SAX解析器来读取XML文件内容,这是一种轻量级、事件驱动的...