public static Document read(String fileName)
throws MalformedURLException, DocumentException, SAXException {
SAXReader reader = new SAXReader();
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",
false);
Document document = reader.read(new File(fileName));
return document;
}
public static Element getRootElement(Document doc) {
return doc.getRootElement();
}
public void dealCpd() {
String fileName = "dist/cpd.xml";
Document doc = null;
try {
doc = read(fileName);
Element root = getRootElement(doc);
for (Iterator i = root.elementIterator("duplication"); i.hasNext();) {
Element dupElm = (Element)i.next();
List<Element> fileList = dupElm.elements("file");
Element fileElm1 = fileList.get(0);
Element fileElm2 = fileList.get(1);
String fileName1 = fileElm1.attribute("path").getText().replace(srcDirFile.getAbsolutePath() + "\\", "");
String fileName2 = fileElm2.attribute("path").getText().replace(srcDirFile.getAbsolutePath() + "\\", "");
// System.out.println("***fileName:" + fileName1 + " " + fileName2);
if (oldCNNFileSet.get(fileName1) == null || oldCNNFileSet.get(fileName2) == null) {
System.out.println("***cpd remove:" + fileName1 + " " + fileName2);
dupElm.getParent().remove(dupElm);
}
}
XMLWriter writer = new XMLWriter(new FileOutputStream(fileName));
writer.write(doc);
writer.close();
}
catch (MalformedURLException e) {
e.printStackTrace();
}
catch (DocumentException e) {
e.printStackTrace();
}
catch (SAXException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
dom4j
最新推荐文章于 2022-03-11 10:48:24 发布