JDOM 对Xml文件(增、删、改、查)

 

package bean;


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

/**
 * 邵波 QQ:343269876
 */
public class XmlParse {


 //解析xml文件
 
 public static void XmlParse() throws JDOMException, IOException {
  SAXBuilder builder = new SAXBuilder();
  InputStream file = new FileInputStream("src/xml/po.xml");
  Document document = builder.build(file);//获得文档对象
  Element root = document.getRootElement();//获得根节点
  List<Element> list = root.getChildren();
  for(Element e:list) {
   System.out.println("ID="+e.getAttributeValue("id"));
   System.out.println("username="+e.getChildText("username"));
   System.out.println("password="+e.getChildText("password"));
  }
 }
 
 //增
 public static void addXml() throws JDOMException, FileNotFoundException, IOException {
  SAXBuilder builder = new SAXBuilder();
  Document doc = builder.build("src/xml/po.xml");//获得文档对象
  Element root = doc.getRootElement();//获得根节点
  
  //添加新元素
  Element element = new Element("person");
  element.setAttribute("id", "3");
  Element element1 = new Element("username");
  element1.setText("zhangdaihao");
  Element element2 = new Element("password");
  element2.setText("mima");
  element.addContent(element1);
  element.addContent(element2);
  root.addContent(element);
  doc.setRootElement(root);
  
  //文件处理
  XMLOutputter out = new XMLOutputter();
  out.output(doc, new FileOutputStream("src/xml/po.xml"));
 }
 
 //根据ID值删除一个节点
 public static void deletePerson(int id) throws JDOMException, IOException {
  SAXBuilder builder = new SAXBuilder();
  InputStream file = new FileInputStream("src/xml/po.xml");
  Document doc = builder.build(file);//获得文档对象
  Element root = doc.getRootElement();//获得根节点
  List<Element> list = root.getChildren();
  for(Element e:list) {
   //获取ID值
   if(Integer.parseInt(e.getAttributeValue("id"))==id) {
    root.removeContent(e);
    break;//??
   }
  }
  
  //文件处理
  XMLOutputter out = new XMLOutputter();
  out.output(doc, new FileOutputStream("src/xml/po.xml"));
 }
 
 //根据ID值修改一个节点
 public static void updatePerson(int id) throws JDOMException, IOException {
  SAXBuilder builder = new SAXBuilder();
  InputStream file = new FileInputStream("src/xml/po.xml");
  Document doc = builder.build(file);//获得文档对象
  Element root = doc.getRootElement();//获得根节点
  List<Element> list = root.getChildren();
  for(Element e:list) {
   //获取ID值
   if(Integer.parseInt(e.getAttributeValue("id"))==id) {
    System.out.println("--------------------");
    e.getChild("username").setText("111111111");
    e.getChild("password").setText("password");
    
   }
  }
  
  //文件处理
  XMLOutputter out = new XMLOutputter();
  out.output(doc, new FileOutputStream("src/xml/po.xml"));
 }
 
 static public void main(String ars[]) throws JDOMException, IOException {
  
 // addXml();//增加XML
 // deletePerson(3);//删除XML
 // updatePerson(2);//修改XML
 // XmlParse();//解析XML
 }
}

 

------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<root>
 <person id="1">
  <username>张三</username>
  <password>123123</password>
 </person>
 <person id="2">
  <username>1111111112</username>
  <password>password2</password>
 </person>


</root>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值