java操作XML(二)
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();){