JDOM 创建XML

//需要JDO包­

­

package XML;­

­

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.Format;­

import org.jdom.output.XMLOutputter; ­

­

public class XmlParse { ­

­

//解析xml文件 ­

public static void XmlParse() throws JDOMException, IOException { ­

  SAXBuilder builder = new SAXBuilder(); ­

  InputStream file = new FileInputStream("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")); ­

   System.out.println("url="+e.getAttributeValue("url"));­

  } ­

} ­

//增 ­

public static void addXml() throws JDOMException, FileNotFoundException, IOException { ­

  SAXBuilder builder = new SAXBuilder(); ­

  Document doc = builder.build("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); ­

  ­

/*­

*下面三行用于换行和编码­

*2009.7.12­

*/­

­

­

  Format format = Format.getCompactFormat(); ­

  format.setEncoding("utf-8"); //设置xml文件的字符为gb2312 ­

  format.setIndent("     ");//设置缩进 ­

  //文件处理 ­

  XMLOutputter out = new XMLOutputter(format); ­

  out.output(doc, new FileOutputStream("po.xml")); ­

} ­

//根据ID值删除一个节点 ­

public static void deletePerson(int id) throws JDOMException, IOException { ­

  SAXBuilder builder = new SAXBuilder(); ­

  InputStream file = new FileInputStream("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("po.xml")); ­

} ­

//根据ID值修改一个节点 ­

public static void updatePerson(int id) throws JDOMException, IOException { ­

  SAXBuilder builder = new SAXBuilder(); ­

  InputStream file = new FileInputStream("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("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" url="bbb">­

          <username>张三</username>­

          <password>123123</password>­

     </person>­

     <person id="2" >­

          <username>111111111</username>­

          <password>password</password>­

     </person>­

     <person id="3" url="关永贵">­

          <username>zhangdaihao</username>­

          <password>mima</password>­

     </person>­

</root>­

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马铃薯_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值