【Android】XML文件的解析

1.首先我们可以在res包路径下创建一个raw包,然后在raw下创建一个email.xml 文件,并修改其内容如下:

1 <?xml version="1.0" encoding="utf-8"?>
2 <email>
3     <from>[email protected]</from>
4     <to>[email protected]</to>
5     <date>2016/4/5</date>
6     <title>xml parse</title>
7     <content>Hello World!</content>
8 </email>

  

2. 用java代码对上述xml文件进行简单解析,并将解析的信息通过TextView显示出来:

 1 private void parseXml() {
 2     try {
 3         // --- 获取xml文件到输入流变量
 4         InputStream stream = getResources().openRawResource(R.raw.email);
 5         stream.reset();
 6         // --- 开始解析 xml 文件
 7         DocumentBuilder builder  = DocumentBuilderFactory.newInstance().newDocumentBuilder();
 8         Document        doc      = builder.parse(stream);
 9         Node            root     = doc.getFirstChild();
10         NodeList        nodeList = root.getChildNodes();
11         String          info     = "";
12         // --- 循环读取每个子节点的信息
13         for (int i = 0; i < nodeList.getLength(); i++) {
14             Node item = nodeList.item(i);
15             info += item.getTextContent() + "\n";
16         }
17         // --- 输出解析结果
18         TextView tvInfo = (TextView)findViewById(R.id.tvInfo);
19         tvInfo.setText(info);
20     }
21     catch (Exception e) {
22         e.printStackTrace();
23     }
24 }

  最终效果如下:

  以上就是对xml文档进行的简单解析,另外我们还可以为每个节点加入id及其他各种属性等。我们可以通过

      getElementsByTagName();

      getAttributes();

      getChildNodes();

      replaceChild(Node newChild, Node oldChild);

      removeChild(Node oldChild);

  等方法进行读写和修改。

 

时间: 2024-10-03 09:13:32

【Android】XML文件的解析的相关文章

Android——xml文件的解析

解析方法:DOM.SAX.PULL DOM:将xml转化为树进行遍历 public void DOMParser() {     try {       // 1.创建DocumentBuilder实例       DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();        // 2.创建Document实例 Document doc = builder.parse(fil

Android学习(48) -- 获取xml文件并解析.

1.根据xml的格式创建JavaBean public class News { private String title; private String detail; private String comment; private String imageUrl; @Override public String toString() { return "News [title=" + title + ", detail=" + detail + ",

Android 5.0 system_fonts.xml文件的解析过程

Android 5.0 system_fonts.xml文件的解析过程 首先看看看5.0 中familyset version="22" 的格式 20 <family name="sans-serif"> 21 <font weight="100" style="normal">Roboto-Thin.ttf</font> 22 <font weight="100"

Java之Pull方式生成xml文件和解析xml文件

Pull XML解析器早已经被google集成到android sdk当中,它是google官方推荐的解析器. 如果我们要在Java桌面.J2ME等当中使用Pull方式生成xml文件和解析xml文件,需要用到kxml2: KXML解析器是基于普通XML PULL解析器的一个小巧的解析器,官网是http://kxml.org/ 普通XML PULL解析器的官网是http://xmlpull.org/ 实验开始: 在Eclipse中新建一个java项目,其中新建一个libs文件夹,拷贝从网上下载的k

用SAX和PULL进行XML文件的解析与生成

XML解析有传统的dom方法还有Jsoup,SAX,PULL等,这里讲的是比较省内存的SAX和PULL方法.Android中极力推荐用PULL的方式来解析,我个人觉得pull确实比较简单,但其内部的逻辑性不是很分明.所以今天做了个类来将其中的多个步骤进行了分割,以后直接拿来用即可. 1.SAX: 首先先讲解SAX中各个方法的作用: 我们以这个不规则的xml语句做例子: <abc:kale sex=m age=21>jack</abc:kale> startDocument:开始解析

php对xml文件的解析

近来较少写博客了,得克服懒惰的秉性啊! 今天研究了一下php对xml文件的解析. 用到了php的simplexml_load_file()方法,该方法会将xml文件生成一个SimpleXMLElement对象,该对象是继承了Traversable接口的对象,即可以像数组那样遍历其子集. 这样,我们就可以循环得到xml文件的内容,不多说废话,上例子. 假设有如下内容,名为test.xml的xml文件: <?xml version="1.0" encoding="utf-8

android xml产生和解析

public static void writeToXml(Map<String, Object> map,Writer writer) throws Exception, IllegalStateException, IOException{          XmlSerializer serializer = Xml.newSerializer();          serializer.setOutput(writer);       serializer.startDocument

说说你知道的XML文件的解析方式,它们有什么区别

说说你知道的XML文件的解析方式,它们有什么区别 DOM(document object model)解析 将整个xml全部读到内存中去,形成树状结构. 优点:解析效率高,且可以对文档进行增删的操作 缺点:当xml文件很大,会导致内存溢出. SAX(Simple API for XML)解析 读取一行,解析一行,基于事件驱动 优点:不会造成内存溢出 缺点:解析效率较慢,且只能进行查阅的操作 原文地址:https://www.cnblogs.com/javaisbest/p/11588010.ht

android菜鸟学习笔记19----Android数据存储(三)XML文件的解析及序列化

Android内置了PULL解析器的XPP3实现,以及SAX解析器等,可以直接使用PULL或SAX解析XML,直接把JAVA中进行PULL或SAX解析的代码直接拿来用,遗忘的话,可以参考java拾遗1,2,3关于XML的解析: 如有如下XmlUtils类实现PULL方式解析XML到List和序列化List到XML: Student实体类代码: 1 package cn.csc.bean; 2 3 public class Student { 4 5 private String id; 6 7