删除问题
老师,怎么通过节点去删除文本呢?比如
<catergory>
<categoryId>1</categoryId>
<categoryName>计算机类</categoryName>
</catergory>
怎么通过跟节点去删除categoryId这个节点的信息呢?
/**
* 删除分类方法
* @param categoryId 根据id删除
*/
public static void deleteCatgory(String categoryId) {
//通过dom4j读取文件
SAXReader reader=new SAXReader();
Writer writer=null;
try {
Document document=reader.read(categoryDataFile);
//通过xpath 对文件中节点读取
List<Node> nodes=document.selectNodes("/root/catergory");
//通过遍历
Element p=null;
for(Node node:nodes) {
Element element=(Element)node;
if(element.element("categoryId").getText().equals(categoryId)) {
p=element;
break;
}
}
nodes.remove(p);
//写入
writer=new OutputStreamWriter(new FileOutputStream(categoryDataFile),"utf-8");
document.write(writer);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(writer!=null) {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
reloadCategory();
}
}
为什么这样删除不了阿。每次都提示没有此id。好奇怪啊。
16
收起
正在回答 回答被采纳积分+1
1回答
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星