android中XMl文件的读取
废话不多说了直接上代码:
新建一个Xml文件用于读取:
test.xml
<Languages cat="1"><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>
</Languages>
后台:
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;import java.io.IOException;
import java.io.StringWriter;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;public class MainActivity extends ActionBarActivity {private TextView tv1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv1= (TextView) findViewById(R.id.tv1);try {//读取与解析Xml文件:DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();DocumentBuilder builder=builderFactory.newDocumentBuilder();Document document=builder.parse(getAssets().open("test.xml")); //记住导的是import org.w3c.dom.Document;不要导错Element element=document.getDocumentElement();NodeList list=element.getElementsByTagName("lan");//过滤读取lan所对应的内容for (int i=0;i<list.getLength();i++){Element lan= (Element) list.item(i);tv1.append(lan.getAttribute("id")+"\n");tv1.append(lan.getElementsByTagName("name").item(0).getTextContent()+"\n");tv1.append(lan.getElementsByTagName("ide").item(0).getTextContent()+"\n");}DocumentBuilderFactory builderFactory1=DocumentBuilderFactory.newInstance();DocumentBuilder builder1=builderFactory1.newDocumentBuilder();Document newxml=builder1.newDocument();Element languages=newxml.createElement("Languages");//根元素languages.setAttribute("cat","it"); //设置属性//生成与输出XMl数据Element lan1=newxml.createElement("lan");// <lan id="1">
// <name>java</name>
// <ide>Eclipse</ide>
// </lan>lan1.setAttribute("id","1");Element name1=newxml.createElement("name");name1.setTextContent("java");Element ide1=newxml.createElement("ide");ide1.setTextContent("Eclipse");lan1.appendChild(name1);lan1.appendChild(ide1);languages.appendChild(lan1);// <lan id="2">
// <name>Swift</name>
// <ide>Xcode</ide>
// </lan>Element lan2=newxml.createElement("lan");lan2.setAttribute("id", "1");Element name2=newxml.createElement("name");name2.setTextContent("Swift");Element ide2=newxml.createElement("ide");ide2.setTextContent("Xcode");lan2.appendChild(name2);lan2.appendChild(ide2);languages.appendChild(lan2);newxml.appendChild(languages);TransformerFactory transformerFactory=TransformerFactory.newInstance();Transformer transformer=transformerFactory.newTransformer();transformer.setOutputProperty("encoding", "utf-8");StringWriter sw=new StringWriter();transformer.transform(new DOMSource(newxml),new StreamResult(sw));sw.toString();//输出查看结果sw.close();tv1.append("\n输出结果:"+sw.toString());} catch (IOException e) {e.printStackTrace();Log.i("e1",e.toString());} catch (ParserConfigurationException e) {e.printStackTrace();Log.i("e2", e.toString());} catch (SAXException e) {e.printStackTrace();Log.i("e3", e.toString());} catch (TransformerConfigurationException e) {e.printStackTrace();} catch (TransformerException e) {e.printStackTrace();}}
}
android中XMl文件的读取相关推荐
- android的读取xml配置文件,android中XMl文件的读取
废话不多说了直接上代码: 新建一个Xml文件用于读取: test.xml java Eclipse Swift Xcode C# Visual Studio 后台: import android.su ...
- android中xml文件的生成与读取(Pull)
1.android中是采用Xml文件序列化器生成Xml文件的, //1得到一个xml文件的序列化器(生成器) XmlSerializer serializer=Xml.newSerializer(); ...
- android 表格xml,【Android】利用表格布局,Android中xml文件与java的交互制作登录界面...
登录界面是图形编程.网页编程的一个经典而又基础的程序. 在安卓中,如图所示一个基本登录界面: 点击取消按钮就关闭这个程序,点击登录按钮则显示用户输入的用户名与密码. 一.基本布局 这个程序利用到安卓中 ...
- C/C++程序读写Android中xml文件
Created: September 2, 2021 作者: 秋水君 前言 怎么编写能在Android系统中运行的C/C++可执行程序,一般有一下两种方法: 1. 通过谷歌提供的JNI机制 2. 交叉 ...
- android 中xml文件的各种样式的学习
http://keeganlee.me/post/android/20150916 代码规范演示: <!-- 方法一 --> <?xml version="1.0" ...
- Android中XML数据解析
转载请注明出处:http://blog.csdn.net/yegongheng/article/details/38296207 XML初步 今天我们来学习另一种非常重要的数据交换格式-XML.XML ...
- Android中XML的三种解析器分析、实战
XML解析器介绍 Android中提供了三种方式来解析XML: SAX(simple API for XML) DOM(文档对象模型) 以及Android内部使用的Pull解析. SAX(simple ...
- OpenCV中XML文件和YAML文件的读写
OpenCV中XML文件和YAML文件的读写 代码如下: #include <opencv2/core/core.hpp> #include <iostream> #inclu ...
- android修改xml变量值,Android中XML的基本操作(增、删、改、查)
Android中XML的一些操作 解析类: // 构造方法 public XMLParser() { } /** * 从URL获取XML使HTTP请求 * * @param url * string ...
最新文章
- [skill] vim 操作多个window
- Cache系列:spring-cache简单三步快速应用ehcache3.x-jcache缓存(spring4.x)
- 移动硬盘上划分linux分区,Linux下磁盘分区和移动硬盘的挂载方法有哪些?
- java不使用除号实现除法运算_LeetCode29 Medium 不用除号实现快速除法
- python跨目录调用_python 跨目录访问文件
- 计算机英语讲课笔记04
- eclipse生成ant build.xml打war包
- android机顶盒root,[Android]机顶盒root脚本:SupersuSU获取完美Root权限万能方法,解决二进制更新问题 | 樱花庄...
- 空气负氧离子监测系统建设方案
- Stm32F4XX开启FPU浮点运算
- 微信文章排版技巧和相关排版工具
- Qt编写安防视频监控系统25-离线地图
- 分布式事务详解【分布式事务的几种解决方案】彻底搞懂分布式事务
- 无屏幕有线情况下笔记本电脑连接树莓派
- crawler_浅谈网络爬虫
- word2007表格计算机,电脑员好做吗?使用word2007表格?
- 关于flask入门教程-ajax+echarts实现大屏展示
- linux bash d,bashd的基本特性及文本操作命令
- Oracle 存储过程 字符串拼接 SQL注入的问题
- 百度 codetop
热门文章
- Nat Rev Genet发表房刚组细菌表观组综述论文
- QIIME 2用户文档. 8数据导入Importing data(2018.11)
- 修改串口设备名ttymxc1_Modbus通讯之串口联网设备
- 算法在ros中应用_烟火检测算法——中伟视界人工智能算法AI在智慧工地、石油中的应用_腾讯新闻...
- R语言ggplot2可视化:使用ggplot2绘制按时间顺序排列的时间线图(chronological timeline plot)
- pandas对dataframe的数据列进行随机抽样(Random Sample of Columns):使用sample函数进行数据列随机抽样(有放回的随机抽样,replacement)
- tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
- TCGAbiolinks包下载TCGA数据
- Ratatosk - Hybrid error correction of long reads enables accurate variant calling and assembly
- 数字图像处理4:图像的像素级运算