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>

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

时间: 2024-09-08 23:50:27

Android xml解析实例详解的相关文章

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

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

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> </pers

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.XmlData as

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=&

Android ProgressDialog的实例详解

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

Android编程之json解析实例详解_Android

本文实例分析了Android编程之json解析的方法.分享给大家供大家参考,具体如下: JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. – Json.org JSON Vs XML 1.JSON和XML的数据可读性基本相同 2.JSON和XML同样拥有丰富的解析手段 3.

php解析xml方法实例详解_php技巧

本文以实例形式详细讲述了php解析xml方法.分享给大家供大家参考.具体分析如下: books.xml文件如下: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="children"> <title lang="en">Harry Potter</title> <aut

Android编程单元测试实例详解(附源码)_Android

本文实例讲述了Android编程单元测试.分享给大家供大家参考,具体如下: 完整实例代码代码点击此处本站下载. 本文是在上一篇文章<java编程之单元测试(Junit)实例分析>的基础上继续讲解android的单元测试,android源码中引入了java单元测试的框架(android源码目录:libcore\junit\src\main\java\junit\framework中可见),然后在java单元测试框架的基础上扩展属于android自己的测试框架.android具体框架类的关系图如下