xml解析(超全)---(四)



 新增节点:
SAXReader read=new SAXReader();
  Document doc=null;
  try {
   doc=read.read(new File("d://student.xml"));
   //获取根节点
   Element root=doc.getRootElement();
   //增加class节点
   Element classele=root.addElement("class").addAttribute("name", "1");
   //增加class的第一个子节点(student id=1)
   Element studentele=classele.addElement("student");
   studentele.addAttribute("id", "1");
   studentele.addElement("name").addText("龙啊");
   studentele.addElement("age").addText("123");
   //增加class的第二个子节点(student id=2)
   Element studentele1=classele.addElement("student");
   studentele1.addAttribute("id", "2");
   studentele1.addElement("name").addText("帅啊");
   studentele1.addElement("age").addText("23");
   
   OutputFormat format=OutputFormat.createPrettyPrint();
   format.setEncoding("gb2312");
   format.setNewlines(true);
   format.setIndent("    ");
   XMLWriter write=new XMLWriter(new FileWriter("d://student.xml"),format);
   write.write(doc);
   write.close();
   
   
   
  } catch (DocumentException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
显示结果:


 删除节点:
SAXReader read=new SAXReader();
  Document doc=null;
  try {
   doc=read.read(new File("d://student.xml"));
   Element root=doc.getRootElement();
   
   Element element=(Element) doc.selectSingleNode("//class[@name=2]/student[@id=2]");
   Element eleclass=(Element)doc.selectSingleNode("//class[@name=2]");
   System.out.println(element.elementText("name"));
//   root.remove(element);   错误
   eleclass.remove(element);
   
   OutputFormat format=OutputFormat.createPrettyPrint();
   format.setEncoding("gb2312");
   XMLWriter write=new XMLWriter(new FileWriter("d://student.xml"),format);
   write.write(doc);
   write.close();
   
  } catch (DocumentException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
修改节点:
SAXReader read=new SAXReader();
  Document doc=null;
  try {
   doc=read.read(new File("d://student.xml"));
   Element root=doc.getRootElement();
   
   List list=doc.selectNodes("//class/student[@id=1]/age");
   for(Iterator it=list.iterator();it.hasNext();){
    Element element=(Element)it.next();
    element.setText("10");
   }
   OutputFormat format=OutputFormat.createPrettyPrint();
   format.setEncoding("gb2312");
   XMLWriter write=new XMLWriter(new FileWriter("d://student.xml"),format);
   write.write(doc);
   write.close();
   
  } catch (DocumentException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值