【Android】创建、读取XML文件
创建:
package webdomain; import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xmlpull.v1.XmlPullParserFactory;
import org.xmlpull.v1.XmlSerializer; import form.FrmLogin;
import form.FrmShintai; import android.os.Environment;
import android.util.Log;
import android.util.Xml;
import android.widget.ArrayAdapter; public class Java2XML { public static void XmlFileCreator(String abc){
File newxmlfile = new File(FrmLogin.SDCARD_PATH+"***");
try{
if(!newxmlfile.exists())
newxmlfile.createNewFile();
}catch(IOException e){
Log.e("IOException", "exception in createNewFile() method");
}
//bind the new file with a FileOutputStream
FileOutputStream fileos = null;
try{
fileos = new FileOutputStream(newxmlfile);
}catch(FileNotFoundException e){
Log.e("FileNotFoundException", "can't create FileOutputStream");
}
// create a XmlSerializer in order to write xml data
XmlSerializer serializer = Xml.newSerializer();
try {
//we set the FileOutputStream as output for the serializer, using UTF-8 encoding
serializer.setOutput(fileos, "UTF-8");
//Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null)
serializer.startDocument(null, null);
//set indentation option
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); serializer.startTag(null, "jokes");
serializer.startTag(null, "tag");
serializer.startTag(null, "123");
serializer.text(FrmS.G_Itmho.getText().toString());
serializer.endTag(null, "123"); serializer.startTag(null, "456");
serializer.text(FrmS.G_Itmu.getText().toString());
serializer.endTag(null, "456"); serializer.startTag(null, "789");
serializer.text(FrmSai.G_Itm.getText().toString());
serializer.endTag(null, "789");
serializer.endTag(null, "tag");
serializer.endTag(null, "jokes"); serializer.endDocument();
serializer.flush();
fileos.close();
} catch (Exception e) {
Log.e("Exception","error occurred while creating xml file");
}
} }
读取:
package xmldomain; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException; import org.kobjects.util.Strings;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException; import android.R.string; import form.FrmLogin;
import form.FrmShintai; public class ReadXML {
public static void ReadXMLs()
{
File newxmlfile = new File(FrmLogin.SDCARD_PATH+"filepath");
FileInputStream fileos = null;
try {
fileos = new FileInputStream(newxmlfile);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
DocumentBuilderFactory docBuilderFactory = null;
DocumentBuilder docBuilder = null;
Document doc = null;
try{
docBuilderFactory =DocumentBuilderFactory.newInstance();
docBuilder =docBuilderFactory.newDocumentBuilder();
//xml file
doc = docBuilder.parse(fileos);
//root element
Element root = doc.getDocumentElement();
//Do something here
//Get a NodeList by tagname
NodeList shenchang = root.getElementsByTagName_r("123");
Node nd = shenchang.item(0);
FrmShintai.G_ItmZenkaiShincho.setText(nd.getTextContent());
//Read Node
NodeList tizhong = root.getElementsByTagName_r("456");
Node nd1 = tizhong.item(0);
FrmShintai.G_ItmZenkaiTaiju.setText(nd1.getTextContent());
//Read Node
NodeList bmi = root.getElementsByTagName_r("789");
Node nd2 = bmi.item(0);
FrmShintai.G_ItemZenkaiBMI.setText(nd2.getTextContent());
//Read Node2
}catch(IOException e){
}catch(SAXException e){
}catch(ParserConfigurationException e){
}finally{
doc =null;
docBuilder=null;
docBuilderFactory=null;
}
}
}
【Android】创建、读取XML文件的更多相关文章
- Android 开发自己的网络收音机4——读取XML文件的电台数据
国内外的电台数据很多,起码有好几百,所以把这些数据都写到代码里面是不实际的.只能写成一个数据文件,程序启动的时候再去加载.保存这些简单数据,我们肯定会优先使用XML文件,今天讲讲如何读取XML里面的数 ...
- 在C#中创建和读取XML文件
1.创建简单的XML文件 为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下: 这样会在C盘根目录下创建data2.xml文件,文件内容为 using ...
- unity Android 打包后读取 xml 文件
原地址:http://www.cnblogs.com/wuzhang/p/wuzhang20140731.html 问题: 前天在做东西的过程中发现了一个让人很纠结的问题,为什么Unity 程序 ...
- 在C#程序中,创建、写入、读取XML文件的方法
一.在C#程序中,创建.写入.读取XML文件的方法 1.创建和读取XML文件的方法,Values为需要写入的值 private void WriteXML(string Values) { //保存的 ...
- android读取xml文件来实现省份,城市,区的选择
本博客如需转载.请注明出处. ------------------------------------------------------------------------------------- ...
- Android之旅十四 android中的xml文件解析
在我们做有关android项目的时候,肯定会涉及到对xml文件的解析操作.以下给大家介绍一下xml文件的解析.包括DOM.SAX.Pull以及曾经我们用到的DOM4J和JDOM: 要解析的XML文件: ...
- C#读取XML文件的方法
先写一个xml文件: <?xml version="1.0" encoding="utf-8" ?> <bookste> <!-- ...
- Spring相关:jdom学习:读取xml文件
云课堂马士兵的spring2.5课程中提到的 用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类 ...
- NSXMLParser读取XML文件并将数据显示到TableView上
关于XML,有两种解析方式,分别是SAX(Simple API for XML,基于事件驱动的解析方式,逐行解析数据,采用协议回调机制)和DOM(Document Object Model ,文档对象 ...
- jdom学习读取XML文件
用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类.Element类等的方法读取所需的内容.IB ...
随机推荐
- JQuery获取浏览器窗口的高度和宽度
<script type="text/javascript"> $(document).ready(function() { alert($(window).heigh ...
- jvm 内存整理 -----学习
分为:方法区 ,堆 ,栈 ,本地栈 ,程序计数器 1.程序计数器 保存当前线程执行的字节码行号指示器,解释器工作时,都是通过改变计数器的值来获取下一条程序指令,循环.异常.跳转.分支. ...
- C and C++ : Partial initialization of automatic structure
Refer to: http://stackoverflow.com/questions/10828294/c-and-c-partial-initialization-of-automatic-st ...
- 笔记三、apache搭建gitweb【转】
参考文章: http://www.latelee.org/using-gnu-linux/ubuntu-apache-gitweb.html http://blog.csdn.net/ ...
- 编译android出错
注意:frameworks/base/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java 使用了未经检查或不安全的操作.注意:要了 ...
- supersocket中的日志处理
接口以及类之间的关系
- POJ 3692 Kindergarten (补图是二分图的最大团问题)
题意 幼稚园里有m个男孩和n个女孩(m.n范围都是[1,200]),男孩之间相互认识,女孩之间也相互认识,另外有部分男孩和女孩也认识.现在要举办一个活动,选取一些同学,要求所有选取的同学之间两两相互认 ...
- 使用WINRAR来制作安装程序
1. WINRAR版本 2. 将所有文件放在同一个文件夹下 3. 选中所有文件点击右键 -> Add to archive 4. General设置 5. Advanced 设置 6. 确定开始 ...
- 编译busybox错误
为了制作一个文件系统,首先要用busybox编译出文件系统所需要的应用程序.在下载了busybox-1.13.0.tar.bz2后,编译出现如下错误: In file included from /o ...
- jquery 获取和设置 select下拉框的值(转手册)
##实例应用中遇到的问题 //在某事件响应的应用中设置select选中项,前两种情况的设置不生效,使用了最后一种用法才生效的 //$("#select_time").find(&q ...