请注意观察以下几句:
1----> d1 = updateXML(d2, "abc");
2----> private static Document updateXML(Document doc, String value)
3----> Element resElement = (Element) doc.selectSingleNode("//RES");
4----> resElement.addElement("REQTIME").addText(value);updateXML method中你传递的是d2对象的引用,Element resElement = (Element) doc.selectSingleNode("//RES");执行后相当resElement指向了d2的引用,resElement.addElement("REQTIME").addText(value);执行后相当于直接操作了d2这个Document对象。so ,d2也就随之修改了。
解决的办法:你可以创建一个d2对象的copy进行传递,或是传递之后再创建copy再修改返回都可以