Android使用DOM生成和输出XML格式数据
本文主要简单讲解如何使用DOM生成和输出XML数据。
1. 生成和输出XML数据
代码及注释如下:
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
//创建一个新的Document对象,并非获取
Document xmlDocument = builder.newDocument();
//创建根节点并添加属性值
Element root = xmlDocument.createElement("Languages");
root.setAttribute("foo", "bar");
/**
* 创建第一个元素节点
*/
//创建相应的元素节点,并添加属性值和文本内容
Element lan_1 = xmlDocument.createElement("lan");
lan_1.setAttribute("id", "1");
Element name_1 = xmlDocument.createElement("name");
name_1.setTextContent("Java");
Element ide_1 = xmlDocument.createElement("ide");
ide_1.setTextContent("Eclipse");
//将name标签和ide标签添加到lan标签内
lan_1.appendChild(name_1);
lan_1.appendChild(ide_1);
//将lan标签添加到Languages标签内
root.appendChild(lan_1);
/**
* 创建第二个元素节点
*/
//创建相应的元素节点,并添加属性值和文本内容
Element lan_2 = xmlDocument.createElement("lan");
lan_2.setAttribute("id", "2");
Element name_2 = xmlDocument.createElement("name");
name_2.setTextContent("Swift");
Element ide_2 = xmlDocument.createElement("ide");
ide_2.setTextContent("XCode");
//将name标签和ide标签添加到lan标签内
lan_2.appendChild(name_2);
lan_2.appendChild(ide_2);
//将lan标签添加到Languages标签内
root.appendChild(lan_2);
//将根节点添加进Document文档对象中
xmlDocument.appendChild(root);
//对XML数据进行输出需要进行转换,使用Transformer
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
//设置输出属性
transformer.setOutputProperty("encoding", "UTF-8");
//创建新的字符输出流用于输出数据
StringWriter stringWriter = new StringWriter();
//对XML文档 对象进行转换并输出到输出流中
transformer.transform(new DOMSource(xmlDocument), new StreamResult(stringWriter));
Log.i("XMLDATA", stringWriter.toString());
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
时间: 2024-12-26 07:15:24