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