zoukankan      html  css  js  c++  java
  • dom4j创建XML文件

    dom4j创建XML文件

    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;

    /**
     * @author Dong 2013-12-23 ©Copyright 2013 dong
     */
    public class Dom4j {

    /**
      * 非法的 XML 字符必须被替换为实体引用
      * &lt; < 小于号
      * &gt; > 大于号
      * &amp; & 与(和)号
      * &apos; ' 单引号
      * &quot; " 双引号
      * <message>if salary < 1000 then</message>为了避免此类错误,需要把字符 "<" 替换为实体引用,就像这样: 
      * <message>if salary &lt; 1000 then</message>
      */
     public static void main(String[] args) {
      createXML();
     }

     public static void createXML() {

      Document document = DocumentHelper.createDocument();

      Element firstElement = document.addElement("FirstElement");

      firstElement.addComment("A sample XML file");// 添加注释
      firstElement.addCDATA("who am i CDATA");
      // 在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下:
      // <![CDATA[文本内容]]>
      // CDATA的文本内容中不能出现字符串“]]>”,另外,CDATA不能嵌套。

      firstElement.addProcessingInstruction("target", "text");

      Element secondElement = firstElement.addElement("SecondElement");

      secondElement.addAttribute("title", "Create XML");
      secondElement.addAttribute("publisher", "Dongxiang");
      secondElement.addAttribute("date", "2013-12-24 10:03:32");

      Element thirdElement = secondElement.addElement("ThirdElement");

      thirdElement.addAttribute("level", "Intermediate");
      thirdElement.addAttribute("date", "December-2013");

      Element forthElementA = thirdElement.addElement("ForthElementA");
      forthElementA.setText("简单的XML forthElement  A");

      Element forthElementB = thirdElement.addElement("ForthElementB");
      forthElementB.setText("与其并列 forthElement  B");

      Element forthElementC = thirdElement.addElement("ForthElementC");

      Element fifthElementA = forthElementC.addElement("fifthElementA");
      fifthElementA.setText("Head");
      Element fifthElementB = forthElementC.addElement("fifthElementB");
      fifthElementB.setText("Body");

      document.addDocType("firstElement", "what", "http://www.cnblogs.com/babi/");

      try {
    //   下面format用来格式化输出到XML文件,观看的结构清晰
       OutputFormat format = new OutputFormat();
       format.setIndentSize(2);//缩进字符
       format.setNewlines(true);//换行
       format.setTrimText(false);
       format.setPadText(true);//填补
       format.setEncoding("UTF-8");//字符编码
       
    //   XMLWriter output = new XMLWriter(new FileWriter(new File(
    //     "Sample.xml")));//没用format进行格式化输出,XML文件结果显示为一行
       XMLWriter output = new XMLWriter(new FileWriter(new File(
         "Sample.xml")), format);
       output.write(document);
       output.close();
       System.out.println("create XML success!");
      } catch (IOException e) {
       e.printStackTrace();
      }
     }

    }

  • 相关阅读:
    pycharm在401跑程序需要每个py文件加一句
    youtube下载视频方法
    服务器重启登陆界面死循环
    matlab2012b_win_install
    ubuntu_matlab2012b_install
    cuda8.0 + cudnn6 + tensorflow1.4 xing
    [BAT] cmd 管理员权限 右键菜单 运行
    Windows下遍历所有GIT目录更新项目脚本
    获取Xshell Xftp等官网下载地址
    Win10 企业版 激活 批处理
  • 原文地址:https://www.cnblogs.com/babi/p/3488677.html
Copyright © 2011-2022 走看看