我试图从对象resultObjectAtt
中删除有F的孩子。
但是,由于我将其从对象中删除,childElem.size()
将会更改。
所以我尝试创建一个新对象并将旧对象分配给它:
okResultObject = resultObjectAtt;
但同样的结果,任何帮助?
okResultObject = resultObjectAtt;
for (int j = 0; j < childElem.size(); j++) {
subChildElem = childElem.get(j).getChildren();
for (int j2 = 0; j2 < subChildElem.size(); j2++) {
Name = subChildElem.get(j2).getName();
Value = subChildElem.get(j2).getValue();
if(Name.equalsIgnoreCase("TYPE")){
if(Value.equals("F")){
okResultObject.getRootElement().getChildren().remove(j);
convertDocumentToXmlFile("C:\\test.xml", okResultObject);
}
}
}
}
答案 0 :(得分:0)
该赋值只创建了resultObjectAtt的别名。如果resultObjectAtt是可复制的,那么您可以使用resultObjectAtt.clone()来获取新对象。否则,您将需要通过其他方式构建okResultObject,例如迭代resultObjectAtt的节点并将相同的值添加到okResultObject。