zoukankan      html  css  js  c++  java
  • 使用DOM创建xml文件

    使用DOM创建xml文件

    创建xml的代码如下:

    public class CreateXML {
    
      public static void main(String[] args) {
        DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
        try {
          
          DocumentBuilder builder=factory.newDocumentBuilder();
          Document documnet= builder.newDocument();
          Element root=documnet.createElement("languages");
          root.setAttribute("cat", "it");
          
          Element lan1=documnet.createElement("lan");
          lan1.setAttribute("id", "1");
          Element name1=documnet.createElement("name");
          name1.setTextContent("java");
          Element ide1=documnet.createElement("ide");
          ide1.setTextContent("eclipse");
          lan1.appendChild(name1);
          lan1.appendChild(ide1);
          
          Element lan2=documnet.createElement("lan");
          lan2.setAttribute("id", "2");
          Element name2=documnet.createElement("name");
          name2.setTextContent("c#");
          Element ide2=documnet.createElement("ide");
          ide2.setTextContent("visual studio");
          lan2.appendChild(name2);
          lan2.appendChild(ide2);
          
          Element lan3=documnet.createElement("lan");
          lan3.setAttribute("id", "3");
          Element name3=documnet.createElement("name");
          name3.setTextContent("swift");
          Element ide3=documnet.createElement("ide");
          ide3.setTextContent("visual studio");
          lan3.appendChild(name3);
          lan3.appendChild(ide3);
          
          root.appendChild(lan1);
          root.appendChild(lan2);
          root.appendChild(lan3);
          documnet.appendChild(root);
          
          //使用transformer将xml文档转换成其他格式
          TransformerFactory tfactory=TransformerFactory.newInstance();
          Transformer former=tfactory.newTransformer();
          
          //将xml内容以字符串输出
          StringWriter writer=new StringWriter();
          former.transform(new DOMSource(documnet), new StreamResult(writer));
          System.out.println(writer.toString());
          
          //将xml内容保存为文件
          former.transform(new DOMSource(documnet), new StreamResult(new File("newxml.xml")));
    }
    catch (ParserConfigurationException e) { e.printStackTrace(); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } } }

    将xml的内容放入document对象后,直接把这document用toString输出会是null

    此时需要进行使用Transformer进行转换,如果想变成字符串输出可以借助stringwriter,如果想变成文件保存直接用file

    备注:eclipse中可以用ctrl+i进行格式化xml文件,更易于观察

  • 相关阅读:
    Kubernets 第一讲 初探
    docker 运行nginx并进入容器内部、端口映射
    Docker 国内镜像的配置及使用
    Centos7上安装docker
    富文本编辑器--FCKEditor 上传图片
    在centos7上安装elasticSearch
    Centos7上卸载openJdk安装,安装自己的JDK1.8
    fastdfs 上传图片 完整版
    nginx 启动报错 “/var/run/nginx/nginx.pid" failed” 解决方法
    nginx + fastdfs 的开机自启动
  • 原文地址:https://www.cnblogs.com/xtuxiongda/p/9058520.html
Copyright © 2011-2022 走看看