Creates element node, attribute node, comment node, processing instruction and a CDATA section : DOM编辑 « 可扩展标记语言 « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » 可扩展标记语言 » DOM编辑屏幕截图 
Creates element node, attribute node, comment node, processing instruction and a CDATA section
  
       

/***************************************************************
 * (C) Copyright 2002 by Deitel & Associates, Inc. and         *
 * Prentice Hall. All Rights Reserved.                         *
 *                                                             *
 * DISCLAIMER: The authors and publisher of this book have     *
 * used their best efforts in preparing the book. These        *
 * efforts include the development, research, and testing of   *
 * the theories and programs to determine their effectiveness. *
 * The authors and publisher make no warranty of any kind,     *
 * expressed or implied, with regard to these programs or to   *
 * the documentation contained in these books. The authors     *
 * and publisher shall not be liable in any event for          *
 * incidental or consequential damages in connection with, or  *
 * arising out of, the furnishing, performance, or use of      *
 * these programs.                                             *
 ***************************************************************/
       
import java.io.FileOutputStream;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Attr;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Comment;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.ProcessingInstruction;

public class BuildXml {
  private Document document;

  public BuildXml() {
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    try {
      DocumentBuilder builder = factory.newDocumentBuilder();
      document = builder.newDocument();
    }catch (ParserConfigurationException parserException) {
      parserException.printStackTrace();
    }

    Element root = document.createElement("root");
    document.appendChild(root);

    // add comment to XML document
    Comment simpleComment = document.createComment("This is a simple contact list");
    root.appendChild(simpleComment);

    // add child element
    Node contactNode = createContactNode(document);
    root.appendChild(contactNode);

    // add processing instruction
    ProcessingInstruction pi = document.createProcessingInstruction("myInstruction",
        "action silent");
    root.appendChild(pi);

    // add CDATA section
    CDATASection cdata = document.createCDATASection("I can add <, >, and ?");
    root.appendChild(cdata);

    // write the XML document to disk
    try {

      // create DOMSource for source XML document
      Source xmlSource = new DOMSource(document);

      // create StreamResult for transformation result
      Result result = new StreamResult(new FileOutputStream("myDocument.xml"));

      // create TransformerFactory
      TransformerFactory transformerFactory = TransformerFactory.newInstance();

      // create Transformer for transformation
      Transformer transformer = transformerFactory.newTransformer();

      transformer.setOutputProperty("indent""yes");

      // transform and deliver content to client
      transformer.transform(xmlSource, result);
    }

    // handle exception creating TransformerFactory
    catch (TransformerFactoryConfigurationError factoryError) {
      System.err.println("Error creating " "TransformerFactory");
      factoryError.printStackTrace();
    }catch (TransformerException transformerError) {
      System.err.println("Error transforming document");
      transformerError.printStackTrace();
    }    catch (IOException ioException) {
      ioException.printStackTrace();
    }
  }

  public Node createContactNode(Document document) {

    // create FirstName and LastName elements
    Element firstName = document.createElement("FirstName");
    Element lastName = document.createElement("LastName");

    firstName.appendChild(document.createTextNode("First Name"));
    lastName.appendChild(document.createTextNode("Last Name"));

    // create contact element
    Element contact = document.createElement("contact");

    // create attribute
    Attr genderAttribute = document.createAttribute("gender");
    genderAttribute.setValue("F");

    // append attribute to contact element
    contact.setAttributeNode(genderAttribute);
    contact.appendChild(firstName);
    contact.appendChild(lastName);

    return contact;
  }

  public static void main(String args[]) {
    BuildXml buildXml = new BuildXml();
  }
}
           
         
    
  
Related examples in the same category
1. Java的DOM编辑:找到节点,并改变其内容
2. Java的DOM编辑:用兄弟姐妹定位节点
3. Java的DOM修改:删除第一个孩子的根节点
4. Java的DOM编辑:更换现有节点
5. Java的DOM编辑:添加一个因素,其中包括所有名称
6. Java的DOM编辑:复制子树
7. Java的DOM编辑:添加属性元素
8. Java的DOM编辑:删除两个属性
9. Java的DOM编辑:复制属性
10. Java DOM edit: A Method to Find an ID Value and Print the Element Text
11. Java的DOM编辑:替换修改文字
12. Java的DOM编辑:剪贴修改文本
13. Java的DOM编辑:编辑文字插入和替换
14. Java的DOM编辑:更换文本节点
15. Java的DOM编辑:一个文本节点分裂成三个
16. Java的DOM编辑:规范所有文字
17. Java的DOM编辑:创建一个新的DOM解析树
18. Java的DOM编辑:从一个到另一个分析树复制节点
19. Java DOM edit: Creating a DocumentFragment Subtree and Appending to the Document
20. Java的DOM编辑:插入一个处理指令和注释
21. xml代码树显示2
22. 插入一个新条目
23. 添加文件开头评论
24. 改变某一特定的XML节点
25. 创建一个新因素和移动文字
26. 插入新的元素
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.