使用Java在对象之间移动元素

时间:2016-08-02 16:08:51

标签: java xml jdom

我试图从对象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);
                    }
                }
            }
        }       

1 个答案:

答案 0 :(得分:0)

该赋值只创建了resultObjectAtt的别名。如果resultObjectAtt是可复制的,那么您可以使用resultObjectAtt.clone()来获取新对象。否则,您将需要通过其他方式构建okResultObject,例如迭代resultObjectAtt的节点并将相同的值添加到okResultObject。