Android如何获取asset下的xml文件,并解析
2015-11-19 11:42
591 查看
1.asset下的自定义xml文件:
<Language cat="it"> <lan id="1"> <name>Java</name> <ide>Eclipse</ide> </lan> <lan id="2"> <name>Swift</name> <ide>Xcode</ide> </lan> <lan id="3"> <name>C#</name> <ide>Visual Studio</ide> </lan> </Language>
2.activity解析代码:
</pre><pre name="code" class="java">import java.io.IOException; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { private TextView tv_show; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_show = (TextView) findViewById(R.id.tv_show); try { //传入文件名:language.xml;用来获取流 InputStream is = getAssets().open("language.xml"); //首先创造:DocumentBuilderFactory对象 DocumentBuilderFactory dBuilderFactory = DocumentBuilderFactory.newInstance(); //获取:DocumentBuilder对象 DocumentBuilder dBuilder = dBuilderFactory.newDocumentBuilder(); //将数据源转换成:document 对象 Document document = dBuilder.parse(is); //获取根元素 Element element = (Element) document.getDocumentElement(); //获取子对象的数值 读取lan标签的内容 NodeList nodeList = element.getElementsByTagName("lan"); for (int i = 0; i < nodeList.getLength(); i++) { //获取对应的对象 Element lan = (Element) nodeList.item(i); //lan.getAttribute("id") 获取id的值 tv_show.append(lan.getAttribute("id")+"\n"); //获取name标签下的内容 tv_show.append(lan.getElementsByTagName("name").item(0).getTextContent()+"\n"); //获取ide标签下的内容 tv_show.append(lan.getElementsByTagName("ide").item(0).getTextContent()+"\n"); } } catch (IOException e) { e.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } } }
相关文章推荐
- android 添加按键(一)
- ijkplayer环境搭建及编译
- android 虚拟摇杆绘制
- Android搜索功能实现
- Android 最火的快速开发框架XUtils
- 【android】开发中遇到的一些问题
- Android中Parcelable接口用法
- androidStudio导包
- Android APK的数字签名的作用和意义
- Android开发教程05:Android项目的目录结构
- Android中探讨自定义控件View
- Android开发教程02:Android四大组件简介
- android完全退出程序(android退出有多个activity的应用)
- 获取android手机信息
- Android中的Environment.getExternalStorageState使用
- Android基础入门教程——10.1 TelephonyManager(电话管理器)
- 在Android如何在保证满足面向对象的单一原则(SRP)和开闭原则(OCP)的条件下,完成线程池的使用
- Android Studio中genymotion安装方法
- Android 使用NDK编译二进制文件并运行
- android 可滑动、点击切换的导航栏