这篇文章将为大家详细讲解有关Android中dom如何创建xml,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Android中dom创建xml的应用
首先:创建的文件会放在/data/data/cn.com.xxx(当前包名)/files下面。
创建生成的xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<classes>
<group name="一年级" num="10">
<person name="小明" age="7">
<chinese>语文90</chinese>
<english>英语80</english>
</person>
</group>
</classes>
可以直接用android dom 解析xml方式文章中方法去解析,注意修改一点:
// 从assets文件夹下获取文件 转换成输入流
// inStream = this.getResources().getAssets().open(fileName);
// doc = docBuilder.parse(inStream);
InputStream fosStream = openFileInput(fileName);
doc = docBuilder.parse(fosStream);
同时,fileName取得方法:
String[] fileNames = getFilesDir().list();
String fileName = fileNames[0];
解析出来的结果是
以下是创建xml文件的代码:
private void createXmlFile(){
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
//创建xml根元素
Element rootEle = doc.createElement("classes");
doc.appendChild(rootEle);
//创建xml二级元素
Element groupEle = doc.createElement("group");
groupEle.setAttribute("name", "一年级");
groupEle.setAttribute("num", "10");
//创建xml person元素
Element personEle = doc.createElement("person");
//personEle 的属性和属性值
personEle.setAttribute("name", "小明");
personEle.setAttribute("age", "7");
//创建personELe的子元素
Element chinese = doc.createElement("chinese");
//创建personELe的子元素的值
chinese.appendChild(doc.createTextNode("语文90"));
personEle.appendChild(chinese);
Element english = doc.createElement("english");
english.appendChild(doc.createTextNode("英语80"));
personEle.appendChild(english);
groupEle.appendChild(personEle);
rootEle.appendChild(groupEle);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(doc);
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
transformer.setOutputProperty(OutputKeys.INDENT, "no");
//创建文件存放在 /data/data/cn.xxx.xxx(当前包)/files
FileOutputStream fos = openFileOutput("Dom.xml", Context.MODE_PRIVATE);
//创建文件存放在 /data/data/cn.xxx.xxx(当前包)/cache
// FileOutputStream fos = Op
PrintWriter pw = new PrintWriter(fos);
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
System.out.println("生成XML文件成功!");
} catch (ParserConfigurationException e) {
System.out.println(e.getMessage());
} catch (TransformerConfigurationException e) {
System.out.println(e.getMessage());
} catch (TransformerException e) {
System.out.println(e.getMessage());
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
}
关于“Android中dom如何创建xml”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。