易截截图软件、单文件、免安装、纯绿色、仅160KB

改进的Java XML文件合并工具类

工作中遇到需要合并XML的问题,遂从网上查找相关资料,
1、 《 XML merging made easy  


2 、《java中合并xml文档的设计与实现 

测试后发现均不符合实际需求,实际需求如下:
file1.xml: 
<root>
<a>
<b name="1"/>
</a>
<d />
<e id='1' />
</root>
file2.xml:
<root>
<a>
<b name="22"/>
</a>
<d name="qq"/>
<e id='1' />
</root>
合并后需要得到:
<root>
<a>
<b name="22" />
<b name="1" />
</a>
<d name="qq" />
<e id="1" />
<d />
</root>
基于《java中合并xml文档的设计与实现 
》的介绍对代码进行改进,完成了此功能,代码如下:
package davyxie;
import java.io.File;
import java.util.Properties;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
 * XML文件合并工具类
 * @author davyxie
 */
public class XMLMergeUtil {
   
    /**
     * XML文件的合并处理
     * @param mainFileName 待合并处理的xml文件,合并后将更新此文件
     * @param subFilename 被合并的xml文件
     * @return 合并成功返回true,否则返回false
     * @throws Exception
&


相关文档:

java笔试

    原题如下:用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
 解题思路:
    很明显,这是一个递归算法。我们可以排列将这6个数按从小到大的顺序排一下,如果是1,2,3,4,5,6,那么会有1 ......

Java中的反射机制

反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC++ 、MetaXa和OpenJava等就是基于反射机制的语言。最近 ......

一个用Dom4j解析xml的例子

一、测试用的em.xml
<?xml version="1.0" encoding="GB2312"?>
 <EW cmd="login" mod="Login" version="6.0">
   <Source uns="" type="user"/>
   <Username>zhangzhiyun@hp</Username>
   <Password>111111</Password> ......

xml处理

JAXBContext jc = JAXBContext.newInstance(ICPBuildSummaryXO.class);
   Unmarshaller u = jc.createUnmarshaller();
   ICPBuildSummaryXO xo = (ICPBuildSummaryXO) u.unmarshal(node);
   ICPBuildSummary summary = new ICPBuildSummary();
   Bean ......

java中栈(stack)和堆(heap)的区别

 鉴于网上对Java的堆栈区分,众说纷纭,有的把C++的堆栈也混进来,有的没有分清Stack,Heap的中文翻译,搞得我把Stack当作堆,Heap当作栈,混乱了!昨天参加一外企的笔试,选择英文答案时,选错了,知道答案是堆,却选择了Stack!今天,决定把两者区分清楚! 
  
     &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号