Java的DOM编辑:从一个到另一个分析树复制节点 : 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编辑屏幕截图 
Java的DOM编辑:从一个到另一个分析树复制节点
  

//An XML Document Providing an Element for Export
/*
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE contacts [
<!ELEMENT contacts (person)*>
<!ELEMENT person (name, email)>
<!ELEMENT name (#PCDATA | bold)*>
<!ELEMENT email (#PCDATA)>
]>

<contacts>
    <person>
        <name>Ichobad Crane</name>
        <email>sleepy@hollow.net</email>
    </person>
</contacts>*/

//An XML Document to Receive an Imported Element
/*
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE folks [
<!ELEMENT folks (person)*>
<!ELEMENT person (name, phone, email)>
<!ELEMENT name (#PCDATA | bold)*>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT email (#PCDATA)>
]>

<folks>
    <person>
        <name>Zaphod Beeblebrox</name>
        <phone>907 555-9882</phone>
        <email>outer@space.net</email>
    </person>
</folks>
*/


import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
import java.io.*;

public class DOMImport {
    static public void main(String[] arg) {
        if(arg.length != 3) {
            System.err.println(
                    "Usage: DOMImport <infile1> <infile2> <outfile>");
            System.exit(1);
        }
        DOMImport dc = new DOMImport();
        dc.inandout(arg[0],arg[1],arg[2]);
    }
    public void inandout(String infile1,String infile2,String outfile) {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setValidating(true);
        dbf.setNamespaceAware(true);
        dbf.setIgnoringElementContentWhitespace(true);

        Document doc1 = null;
        Document doc2 = null;
        try {
            DocumentBuilder builder = dbf.newDocumentBuilder();
            builder.setErrorHandler(new MyErrorHandler());
            InputSource is1 = new InputSource(infile1);
            doc1 = builder.parse(is1);
            InputSource is2 = new InputSource(infile2);
            doc2 = builder.parse(is2);
            importName(doc1,doc2);
            FileOutputStream fos = new FileOutputStream(outfile);
            TreeToXML ttxml = new TreeToXML();
            ttxml.write(fos,doc2);
            fos.close();
        catch (SAXException e) {
            System.exit(1);
        catch (ParserConfigurationException e) {
            System.err.println(e);
            System.exit(1);
        catch (IOException e) {
            System.err.println(e);
            System.exit(1);
        }
    }
    public void importName(Document doc1,Document doc2) {
        Element root1 = doc1.getDocumentElement();
        Element personInDoc1 = (Element)root1.getFirstChild();

        Node importedPerson = doc2.importNode(personInDoc1,true);

        Element root2 = doc2.getDocumentElement();
        root2.appendChild(importedPerson);
    }
}


           
         
    
  
Related examples in the same category
1. Creates element node, attribute node, comment node, processing instruction and a CDATA section
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编辑:复制属性
11. Java DOM edit: A Method to Find an ID Value and Print the Element Text
12. Java的DOM编辑:替换修改文字
13. Java的DOM编辑:剪贴修改文本
14. Java的DOM编辑:编辑文字插入和替换
15. Java的DOM编辑:更换文本节点
16. Java的DOM编辑:一个文本节点分裂成三个
17. Java的DOM编辑:规范所有文字
18. Java的DOM编辑:创建一个新的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.