【Android】XML文件的解析

摘要:
3<你好世界5stream.reset();8Documentdoc=builder.parse(流);9Noderoot=doc.getFirstChild();10NodeListnodeList=root.getChildNodes();i<i++){14Nodeitem=nodeList.item(i);19tvInfo.setText(info);

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

1 <?xml version="1.0" encoding="utf-8"?>
2 <email>
3     <from>123@163.com</from>
4     <to>456@gmail.com</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() + "
";
16         }
17         // --- 输出解析结果
18         TextView tvInfo = (TextView)findViewById(R.id.tvInfo);
19         tvInfo.setText(info);
20     }
21     catch (Exception e) {
22         e.printStackTrace();
23     }
24 }

  最终效果如下:

【Android】XML文件的解析第1张

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

      getElementsByTagName();

      getAttributes();

      getChildNodes();

      replaceChild(Node newChild, Node oldChild);

      removeChild(Node oldChild);

  等方法进行读写和修改。

 

免责声明:文章转载自《【Android】XML文件的解析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Spring 注解 @Controller @RestController @Service @Repository @Component 源码对比【数据泵】EXPDP导出表结构下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

解决 Tomcat 下载文件名中包含中文的文件失败的问题

解决 Tomcat 下载文件名中包含中文的文件失败的问题 1、问题背景 在Tomcat 的 {tomcat 安装路径}/webapps/ROOT/ 目录下,创建了 file/downloads/ 目录,用于存放程序定时生成的文件。 可以实现浏览器文件下载,访问url如下: http://localhost:8080/file/downloads/test...

毕业设计 python opencv实现车牌识别 预处理

主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https://github.com/yinghualuowu 首先我们需要一个函数可以随时获取图片,无论在什么地方 filename = askopenfilename(title="选择识别图片", filetyp...

Flink实战(八十七):FLINK-SQL应用场景(7)Flink 与 hive 结合使用(六)Hive 函数

1 通过 HiveModule 使用 Hive 内置函数 在 Flink SQL 和 Table API 中,可以通过系统内置的 HiveModule 来使用 Hive 内置函数, 详细信息,请参考 HiveModule。 val name = "myhive" val version = "2.3.4" table...

vector数组的遍历

1.front()访问第一个元素(第一个元素的值而不是地址!begin()相反) 2.back()访问最后一个元素(最后一个元素的值而不是地址!end()相反) 3.size()数组的元素个数 vector<int> a; //像数组一样以下标访问 for(int i = 0; i < a.size(); i++) { co...

非对称加密----加解密和数字签名

一、对称加密 对称加密:加密和解密使用相同密钥的加密算法。 对称加密的特点: 1)、速度快,通常在消息发送方需要加密大量数据时使用。 2)、密钥是控制加密及解密过程的指令。 3)、算法是一组规则,规定如何进行加密和解密。 典型应用场景:离线的大量数据加密(用于存储的) 常用的加密算法:DES、3DES、AES、TDEA、Blowfifish、RC2、RC...

SuperSlide——再次接触

原来自己很早之前就接触过SuperSlider这个神奇的插件,原谅自己又得了“健忘症”,因此昨天就把自己“坑”了一把: 前言: 交易一期的项目即将上线,在解决测试同事们提出的bug的时候,无意间看到页面有一个神奇的现象: 看着这左右不停变换的图片,心里是不是有点高兴:这样的效果还真不错!可是头疼的却在后面…… 当企业资质下只有一张图片时,它就变成了两张...