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

    }

  • 相关阅读:
    [转] 献给所有正在找路的人
    在同一表单内,多个提交按钮的处理方式
    javascript高级选择器querySelector和querySelectorAll
    一位年轻女董事长的37条忠告很受启发吧?
    函数的延迟加载
    WCF的CommunicationObjectFaultedException异常问题
    WCF Test Client对象数组输入问题
    [转载]C#开发Winform记录用户登录状态的方法
    using(C#)
    使用 SCTP 优化网络
  • 原文地址:https://www.cnblogs.com/babi/p/3488677.html
Copyright © 2011-2022 走看看