zoukankan      html  css  js  c++  java
  • Android使用DOM生成和输出XML格式数据

    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();
        }
  • 相关阅读:
    MySQL学习笔记7——约束
    MySQL学习笔记8——多表查询
    剑指Offer-4.重建二叉树(C++/Java)
    MySQL学习笔记6——备份与恢复
    MySQL学习笔记5——编码
    剑指Offer-3.从尾到头打印链表(C++/Java)
    codeforce Gym 100500I Hall of Fame (水)
    codeforce Gym 100500F Door Lock (二分)
    code Gym 100500D T-shirts(暴力)
    codeforce Gym 100500C ICPC Giveaways(水)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5258149.html
Copyright © 2011-2022 走看看