Android  xml解析实例详解

Android  xml解析实例详解

实现效果图:

XmlActivity

package com.Android.xiong.gridlayoutTest;

import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class XmlActivity extends Activity {

private Button btn_xml;
private EditText et_xml;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xml);
initView();
}

private void initView() {
// 初始化组件
btn_xml = (Button) findViewById(R.id.btn_xml);
et_xml = (EditText) findViewById(R.id.et_show);

}

public void xml(View v) {
// xml解析器
XmlResourceParser xrp = getResources().getXml(R.xml.books);
try {
StringBuilder sb = new StringBuilder("");
while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {
// 如果遇到开始标签
if (xrp.getEventType() == XmlResourceParser.START_TAG) {
// 获取该标签的签名
String tagName = xrp.getName();
// 如果遇到book标签
if (tagName.equals("book")) {
// 根据属性名来获取属性值
String bookName = xrp.getAttributeValue(null, "price");
sb.append("价格:");
sb.append(bookName);
// 根据属性的索引来获取属性值
String bookePrice = xrp.getAttributeValue(1);
sb.append("   出版日期: ");
sb.append(bookePrice);
sb.append("书名:");
// 获取文本节点
sb.append(xrp.nextText());
}
sb.append("\n");
}
// 获取下一个事件
xrp.next();

}
//设置字体
et_xml.setTypeface(Typeface.SERIF);

//设置字体大小
et_xml.setTextSize(30);

//设置字体颜色
et_xml.setTextColor(Color.RED);
et_xml.setText(sb.toString());

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

bookx.xml

<?xml version="1.0" encoding="utf-8"?>
<books>
  <book price="109.0" 出版日期="2008年">疯狂Java讲义</book>
  <book price="108.0" 出版日期="2009年">轻量级JavaEE 企业应用实战</book>
  <book price="79.0" 出版日期="2009年">疯狂Ajax讲义</book>
</books>
activity_xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >

  <Button
    android:id="@+id/btn_xml"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:onClick="xml"
    android:text="解析xml" />

  <EditText
    android:id="@+id/et_show"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="显示解析内容" />

</LinearLayout>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Android中的xml解析介绍

    目录 XML - 元素 XML - 解析 例子 总结 XML 代表可扩展标记语言.XML 是一种非常流行的格式,通常用于在 Internet 上共享数据.本章说明如何解析 XML 文件并从中提取必要的信息. Android 提供了三种类型的 XML 解析器,它们是DOM.SAX 和 XMLPullParser.其中android推荐XMLPullParser,因为它高效且易于使用.所以我们将使用 XMLPullParser 来解析 XML. 第一步是确定您感兴趣的 XML 数据中的字段.例如.在

  • Android解析XML文件升级APK的方法

    安装APK public class DownLoadApk { public static SharedPreferences sharedPrederences = null; //启动安装界面 public static void DownId(Context context, long downId){ DownloadManager mDownloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOA

  • android 使用XStream解析xml的实例

    1,要解析的xml文件文件 xml="<apps>\n" + " <app>\n" + " <id>1</id>\n" + " <name>burn</name>\n" + " <version>1.0</version>\n" + " <info>\n" + " <

  • Android中对xml文件解析的3种方式总结

    前言 xml 是数据传输的一种格式,Android 中的布局文件.设置文件等都采用它来表示.Android 中对 xml 文件的解析也有多种方式,下面介绍常用的 3 种方式: Dom . SAX 和 dom4j.下面话不多说了,来一起看看详细的介绍吧. 先看一个简单的 xml 文件: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <书 出版社="骏马&qu

  • 浅谈Android Studio 解析XML的三种方法

    一丶概述 文件解析要求,json解析和xml解析,前面文章说过Json转实体类,这里就说说解析XML 内容: Android Studio 解析XML常见的三种方式:DOM PULL SAX (实现XML转实体类并打印输出) 效果演示: 二丶正文 SAX(Simple API for XML) 使用流式处理的方式,它并不记录所读内容的相关信息.它是一种以事件为驱动的XML API,解析速度快,占用内存少.使用回调函数来实现. 缺点是不能倒退. DOM(Document Object Model)

  • Android xml解析实例详解

    Android  xml解析实例详解 实现效果图: XmlActivity package com.Android.xiong.gridlayoutTest; import android.app.Activity; import android.content.res.XmlResourceParser; import android.graphics.Color; import android.graphics.Typeface; import android.os.Bundle; impo

  • Android  xml解析实例详解

    Android  xml解析实例详解 实现效果图: XmlActivity package com.Android.xiong.gridlayoutTest; import android.app.Activity; import android.content.res.XmlResourceParser; import android.graphics.Color; import android.graphics.Typeface; import android.os.Bundle; impo

  • SQL 联合查询与XML解析实例详解

    SQL 联合查询与XML解析实例           这里举例说明如何实现该功能: (select a.EBILLNO, a.EMPNAME, a.APPLYDATE, b.HS_NAME, replace(replace(a.SUMMARY,char(10), ''),char(13),'') as SUMMARY, cast(c.XmlData as XML).value('(/List/item/No/text())[1]','NVARCHAR(300)') as No, cast(c.X

  • python xml解析实例详解

    python xml解析 first.xml <info> <person > <id>1</id> <name>fsy</name> <age >24</age> </person> <person> <id>2</id> <name>jianjian</name> <age>24</age> </perso

  • Android自定义View中attrs.xml的实例详解

    Android自定义View中attrs.xml的实例详解 我们在自定义View的时候通常需要先完成attrs.xml文件 在values中定义一个attrs.xml 然后添加相关属性 这一篇先详细介绍一下attrs.xml的属性. <?xml version="1.0" encoding="utf-8"?> <resources> //自定义属性名,定义公共属性 <attr name="titleText" for

  • Android Dialog 动画实例详解

    Android Dialog 动画实例详解 动画描述: 动画与底部菜单一样出现和消失 制作过程: 1. 创建两个动画文件 window_in.xml: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration=&

  • java 中HttpClient传输xml字符串实例详解

    java 中HttpClient传输xml字符串实例详解 介绍:我现在有一个对象page,需要将page对象转换为xml格式并以binary方式传输到服务端 其中涉及到的技术点有: 1.对象转xml流 2.输出流转输入流 3.httpClient发送二进制流数据 POM文件依赖配置 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifact

  • Android getevent用法实例详解

     Android getevent用法实例详解 最近在测试设备按键的常用命令,感觉这些命令都有的,但就是不知道怎么查找. 翻阅了几篇博文,才发现有一个getevent,就是指这样的命令. 首先需要说明的是getevent命令后面可以带上具体的input设备,列如getevent /dev/iput/event0,这样可以过滤掉一些不用显示的input的设备. 我在之前的使用中,还是有些找不到点子,也是一步一步使用起来的. 首先看-p 选项, -p选项用于输出input设备相关的一些信息,列如,

  • Android ProgressDialog的实例详解

    Android ProgressDialog的实例详解 当自己做一些耗时操作时,希望给用户一些提示信息,告诉用户正在进行耗时操作,这时就可以用到ProgressDialog. 1.新建一个全局变量ProgressDialog private ProgressDialog mDialog; 2.设置ProgressDialog的相关参数: progressDialog = new ProgressDialog( ProgressDialogActivity.this); //设置进度条风格,风格为

  • Python元组拆包和具名元组解析实例详解

    前言 在Python中元组是一个相较于其他语言比较特别的一个内置序列类型.有些python入门教程把元组成为"不可变的列表",这种说法是不完备的,其并没有完整的概括元组的特点.除了用作不可变的列表,它还可以用于没有字段名的数据记录.下面的内容就围绕元组作为数据记录属性展开,并介绍带字段名的具名元组函数namedtuple,列表属性不再本文中叙述. 元组对于数据的记录 元组中的每个元素都存放了记录中一个字段的数据,外加这个字段的位置,正是这个位置信息给数据赋予了意义. 下面的一段代码就演

随机推荐