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文件,更易于观察

  • 相关阅读:
    NetCore指令集和
    在WPF中的Canvas上实现控件的拖动、缩放
    WPF 窗体中的 Canvas 限定范围拖动 鼠标滚轴改变大小
    利用百度API(js),怎样通过地址获取经纬度
    讨论一下hibernate如何动态注册一个动态生成的实体类
    大端序vs小端序
    influxdb+telegraf+grafana实现nginx监控
    python库pillow:实现生成图片并加水印
    mac使用之设置vim colors
    学习python库:elasticsearch-dsl
  • 原文地址:https://www.cnblogs.com/xtuxiongda/p/9058520.html
Copyright © 2011-2022 走看看