import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
public class Main {
public static void main(String[] args){
Company cp17 = new Company();
Person ps1 = new Person("Barry","15900000000");
Person ps2 = new Person("Andy","15800000000");
cp17.employee.add(ps1);
cp17.employee.add(ps2);
Document document = DocumentHelper.createDocument();
Element companyElement = document.addElement("company");
for(Iterator<Person> personIter = cp17.employee.iterator();personIter.hasNext();){
Person nextEmployee = personIter.next();
Element employee = companyElement.addElement("employee");
employee.addAttribute("name",nextEmployee.name);
employee.addAttribute("phoneNumber",nextEmployee.phoneNumber);
}
Document document2 = DocumentHelper.createDocument();
Element compnies = document.addElement("companies");
//move cp17 to document2 as a child of companies.
//ERROR companies.add(cp17);
XMLWriter xmlWriter = new XMLWriter();
try{
xmlWriter.write(document2);
xmlWriter.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
我创建了两个文档对象,现在我想将一个元素和它的子元素移动到另一个元素。我怎么能这样做。任何人都可以告诉我,谢谢。^ _ ^
答案 0 :(得分:2)
使用标准DOM方法Document.importNode将一个文档中的内容带入另一个文档。 http://www.dom4j.org/dom4j-1.6.1/apidocs/org/dom4j/dom/DOMDocument.html#importNode%28org.w3c.dom.Node,%20boolean%29
Element companyElement2= document2.importNode(companyElement, true);
companies.appendChild(companyElement2);
(假设这一行:
Element compnies = document.addElement("companies");
应该读取:)
Element companies = document2.addElement("companies");
答案 1 :(得分:1)
Element.createCopy()可能是您应该使用的: