java操作XML(二)

2014-11-24 02:55:47 · 作者: · 浏览: 6
nt updatId) { ChildOperator(fatherNode,fatherAttr,childName,childValue,"update",null,updatId); } /** * 删除元素 * @param fatherPath:父节点名称 * @param fatherattr:父节点属性 * @param childName:要删除的节点名称 */ public void deleteChild(String fatherNode, String fatherAttr,String childName) { ChildOperator(fatherNode,fatherAttr,childName,"","delete",null,0); } /** * 删除元素 * @param fatherPath:父节点名称 * @param fatherattr:父节点属性 * @param childName:要删除的节点名称 */ public void deleteChildAll(String fatherNode, String fatherAttr,String childName) { ChildOperator(fatherNode,fatherAttr,childName,"","deleteAll",null,0); } /** * 删除某个元素 * @param fatherPath:父节点名称 * @param fatherattr:父节点属性 * @param childName:要删除的节点名称 */ public void deleteChildOne(String fatherNode, String fatherAttr,String childName,String childValue) { ChildOperator(fatherNode,fatherAttr,childName,childValue,"deleteOne",null,0); } /** * 获取某个元素数值 * @param fatherPath:父节点名称 * @param fatherattr:父节点属性 * @param childName:要删除的节点名称 */ public String getChild(String fatherNode, String fatherAttr,String childName) { String result = ""; result = ChildOperator(fatherNode,fatherAttr,childName,"","get",null,0); return result; } /** * 子节点操作 * @param fatherNode:父节点名称 * @param fatherAttr:父节点属性 * @param childName:要修改的节点 * @param childValue:修改后的节点值 * @param operator: 要执行的操作名称 */ private synchronized String ChildOperator(String fatherNode, String fatherAttr,String childName, String childValue,String operator,Map mapAttr,int updateId) { String result=""; if (this.document == null) { return "null"; } Element root =
this.document.getRootElement();//获取根节点名称 if(!root.getName().equals(fatherNode)){ //如果不是在根节点下添加 result = XmlElementOperator(root,fatherNode,fatherAttr,childName,childValue,operator,mapAttr); }else{ if(operator.equals("add")){ Element childelement = root.addElement(childName);//根节点不存在元素属性值 childelement.setAttributeva lue("id",childValue); saveXMLFile(this.document); }else if(operator.equals("update")){ List childelements = root.elements(childName); // for(Iterator childs=childelements.iterator();childs.hasNext();){ // Element everyone = (Element)childs.next(); // everyone.setText(childValue); //修改该元素值 // everyone.setAttributeva lue("id",childValue); Element everyone = (Element)childelements.get(updateId); everyone.setAttributeva lue("id",childValue); // } saveXMLFile(this.document); }else if(operator.equals("delete")){ List childelements = root.elements(childName);//获取当前节点下的所有子节点,判断其值,以进行修改 for(Iterator childs=childelements.iterator();childs.hasNext();){ Element everyone = (Element)childs.next(); List childelements1 = everyone.elements("module"); for(Iterator childs1=childelements1.iterator();childs1.hasNext();){ Element everyone1 = (Element)childs1.next(); everyone.remove(everyone1); } } saveXMLFile(this.document); }else if(operator.equals("get")){ List childelements = root.elements(childName);//获取当前节点下的所有子节点,判断其值,以进行修改 for(Iterator childs=childelements.iterator();childs.hasNext();){