XML文件

android中使用XML文件,需要开发者手动创建res/xml文件夹。

实例如下:

  1. book.xml==>
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <books>
  4. <book publishDate="2016.05.05" price="88.6">android学习笔记</book>
  5. <book publishDate="2016.06.06" price="88.6">android解密</book>
  6. <book publishDate="2016.08.08" price="88.6">android深入浅出</book>
  7. </books>
  8.  
  9. 布局文件==》
  10. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  11. xmlns:tools="http://schemas.android.com/tools"
  12. android:layout_width="match_parent"
  13. android:layout_height="match_parent"
  14. android:orientation="vertical"
  15. tools:context=".MainActivity" >
  16.  
  17. <Button
  18. android:id="@+id/btnTest"
  19. android:layout_width="wrap_content"
  20. android:layout_height="wrap_content"
  21. android:layout_gravity="center_horizontal"
  22. android:text="Test" >
  23. </Button>
  24.  
  25. <EditText
  26. android:id="@+id/edit"
  27. android:layout_width="match_parent"
  28. android:layout_height="wrap_content" >
  29. </EditText>
  30.  
  31. </LinearLayout>
  32.  
  33. 代码实现==》
  34. package com.example.myxml;
  35.  
  36. import org.xmlpull.v1.XmlPullParserException;
  37.  
  38. import android.R.xml;
  39. import android.os.Bundle;
  40. import android.app.Activity;
  41. import android.content.res.XmlResourceParser;
  42. import android.view.Menu;
  43. import android.view.View;
  44. import android.view.View.OnClickListener;
  45. import android.widget.Button;
  46. import android.widget.EditText;
  47.  
  48. public class MainActivity extends Activity
  49. {
  50.  
  51. @Override
  52. protected void onCreate(Bundle savedInstanceState)
  53. {
  54. super.onCreate(savedInstanceState);
  55. setContentView(R.layout.activity_main);
  56.  
  57. Button btnTest = (Button) this.findViewById(R.id.btnTest);
  58. btnTest.setOnClickListener(new OnClickListener()
  59. {
  60. @Override
  61. public void onClick(View v)
  62. {
  63. XmlResourceParser xrp = getResources().getXml(R.xml.books);
  64. StringBuilder sb = new StringBuilder();
  65. try
  66. {
  67. while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT)
  68. {
  69. if (xrp.getEventType() == XmlResourceParser.START_TAG)// 如果遇到开始标签
  70. {
  71. // String tagName = xrp.getName();
  72. if (xrp.getName().equals("book"))
  73. {
  74. // 根据名称获取属性值
  75. sb.append("price: ");
  76. sb.append(xrp.getAttributeValue(null, "price"));
  77. sb.append("\n");
  78.  
  79. // 根据索引获取属性值
  80. sb.append("publishDate: ");
  81. sb.append(xrp.getAttributeValue(0));
  82. sb.append("\n");
  83.  
  84. sb.append("bookName: ");
  85. // 获取XML节点的文本信息
  86. sb.append(xrp.nextText());
  87.  
  88. }
  89. sb.append("\n");
  90. }
  91. xrp.next();// 获取解析器的下一个事件
  92. }
  93. EditText edit = (EditText) findViewById(R.id.edit);
  94. edit.setText(sb.toString());
  95. } catch (Exception e)
  96. {
  97. e.printStackTrace();
  98. }
  99. }
  100. });
  101. }
  102.  
  103. @Override
  104. public boolean onCreateOptionsMenu(Menu menu)
  105. {
  106. // Inflate the menu; this adds items to the action bar if it is present.
  107. getMenuInflater().inflate(R.menu.main, menu);
  108. return true;
  109. }
  110.  
  111. }

运行效果:

android学习笔记36——使用原始XML文件的更多相关文章

  1. 【Android学习笔记】XmlResourceParser解析xml文件

    最近学习Android时,需要用到解析XML文件里的数据,可以用XmlResourceParser来解析xml文件,正好将此记录下来. XmlResourceParser里常用的字段和方法 首先先给出 ...

  2. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  3. Android学习笔记--存储方案(SharedPreference、文件IO)

    1. SharedPreference SharedPreference可以很容易的保存key-value对,通常用于保存配置信息.保存的步骤 1. 获得SharedPreferences对象 (最后 ...

  4. Android学习笔记-tween动画之xml实现

    继上篇tween动画的java实现:http://www.cnblogs.com/fengtengfei/p/3957800.html, 这里我接着介绍一下tween动画的xml实现的方法,   首先 ...

  5. android学习笔记39——使用原始资源

    原始资源 android中没有专门提供管理支持的类型文件,都被称为原始资源.例如:声音资源... android原始资源存放位置: 1.res/raw,android SDK会处理该目录下的原始资源, ...

  6. Android学习笔记(二)Manifest文件节点详解

    在上一篇博文中简单介绍了Manifest文件及其存放位置,本篇就来详细介绍一下Manifest文件中的节点和一些节点的基本作用,首先看一下Manifest文件最基本的结构: <manifest ...

  7. Android学习笔记(36):Android的两种事件处理方式

    Android提供了两种事件处理的方式:基于回调的事件处理 和 基于监听的事件处理. 我们来说的easy理解一点: (1)基于回调的事件处理就是继承GUI组件,并重写该组件的事件处理方法.除了一些特定 ...

  8. 【转】 Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件

    目录(?)[-] 在AIDL中定义服务接口 根据AIDL文件自动生成接口代码 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.n ...

  9. 【转】 Pro Android学习笔记(七十):HTTP服务(4):SOAP/JSON/XML、异常

    目录(?)[-] SOAP JSON和XMLPullParser Exception处理 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog. ...

随机推荐

  1. web相关问题总结 - imsoft.cnblogs

    1,问题:编辑好的web程序乱码,显示不正常 解决方法:在head中加入一下代码,设置网页使用的语言为中文. <meta http-equiv="Content-Type" ...

  2. Spring+Websocket实现消息的推送

    http://my.oschina.net/ldl123292/blog/304360

  3. C#术语

    数字代码.文本代码.机器码.托管代码.中间语言(IL).即时编译(JIT).COM(+).应用程序域.地址控件.虚拟内存

  4. POJ2375 Cow Ski Area (强连通)(缩点)

                                        Cow Ski Area Time Limit: 1000MS   Memory Limit: 65536K Total Sub ...

  5. UI组件(思维导图)

  6. Linux shell编程札记

    if-then的高级特性 [[]].[]都是用来测试( 测试分为数值比较.字符串比较.文件比价 )的,[[]]是关键字,里面可以用&&.||.<.>等类似C语言的语法:[] ...

  7. VMware虚拟机打开不了操作系统的解决方案

    1. 当你的VMware虚拟机出现下面这种情况的时候 解决方案:找到此VM安装的文件夹.在此文件夹下,将名字以“.lck ”结尾的文件夹全部重命名,重命名的名字随意好了.然后再到VMWARE里启动你的 ...

  8. 开发成功-cpu-mem监控动态折线图--dom esayui js java

    jsp ------------------------------------------------------------------------------------------- ---- ...

  9. JS的Document属性和方法小结

    Document想必大家并不陌生吧,在使用js的过程中会经常遇到它,那么它有哪些属性.哪些方法,在本文将以示例为大家详细介绍下,希望对大家有所帮助 document.title //设置文档标题等价于 ...

  10. Sklearn库例子4:分类——Lasso分类例子

    Lasso回归: #-*- encoding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn.met ...