[img]http://dl.iteye.com/upload/picture/pic/71544/1633a33e-6418-3deb-8bf0-e51039b5b78e.jpg[/img]
[img]http://dl.iteye.com/upload/picture/pic/71542/e80f4bb7-a73b-3407-a9ba-0543fe2a63a5.jpg[/img]
[img]http://dl.iteye.com/upload/picture/pic/71540/b87fb7c4-194f-3c04-ba23-0f0448f1c3b7.jpg[/img]
package cs.edu.hust.cs.j2se.test;
import java.io. *; //Java基础包,包含各种IO操作
import java.util. *; //Java基础包,包含各种标准数据结构操作
import javax.xml.parsers. *; //XML解析器接口
import org.w3c.dom. *; //XML的DOM实现
import javax.xml.transform. *;
import javax.xml.transform.dom. *;
import javax.xml.transform.stream. *;
/**
* XML文件合并工具类
* @author GhostFromHeaven
*/
public class XMLMergeUtil {
/**
* XML文件的合并处理
* @param mainFileName 待合并处理的xml文件,合并后将更新此文件
* @param subFilename 被合并的xml文件
* @return 合并成功返回true,否则返回false
* @throws Exception
*/
public static boolean isMerging(String mainFileName, String subFilename)
throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
System.err.println(pce); // 出现异常时,输出异常信息
}
Document doc_main = null;
Document doc_vice = null;
// 获取两个XML文件的Document
try {
doc_main = db.parse(mainFileName);
doc_vice = db.parse(subFilename);
} catch (DOMException dom) {
System.err.println(dom.getMessage());
} catch (Exception ioe) {
System.err.println(ioe);
}
// 获取两个文件的根节点
Element root_main = doc_main.getDocumentElement();
Element root_vice = doc_vice.getDocumentElement();
// 下面添加被合并文件根节点下的每个节点
NodeList messageItems = root_vice.getChildNodes();
int item_number = messageItems.getLength();
// 如果去掉根节点下的第一个节点,那么i从3开始,否则i从1开始</