Android使用DOM生成和输出XML格式数据

时间:2023-01-07 10:39:43

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();
}