java 对xml文件进行 增删改查

来源:互联网 发布:手机arp扫描软件 编辑:程序博客网 时间:2024/05/17 09:17

使用jdom.jar 包。下载地址 http://download.csdn.net/detail/jlh912008548/9469719

test.xml 文件如下:

<?xml version="1.0" encoding="UTF-8"?><CDRS><cdr name="1"><username>ss</username><password>dd</password></cdr><cdr name="2"><username>ss</username><password>dd</password></cdr><cdr name="3"><username>ss</username><password>dd</password></cdr><cdr name="4"><username>ss</username><password>dd</password></cdr><cdr name="5"><username>ss</username><password>dd</password></cdr><cdr name="6"><username>jiang</username><username>12345s</username></cdr><cdr name="7"><username>iiiii</username><username>12345s</username></cdr></CDRS>



java 代码如下:

import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.List;import org.jdom.Document;import org.jdom.Element;import org.jdom.input.SAXBuilder;import org.jdom.output.XMLOutputter;public class TestXml {/** * 新建一个最新的xml 并保存到项目根目录 */public static void printXml() {// 定义一个root作为xml文档的根元素Element root = new Element("CDRS");// 生成一个文档Document Doc = new Document(root);for (int j = 1; j <= 5; j++) {// 在生成的名称为CDRS的跟元素下生成下一级元素标签名称为cdrElement elements = new Element("cdr");// 为cdr设置属性名和属性值elements.setAttribute("name", "" + j);// 在cdr标签内部添加新的元素,即cdr的下一级标签,标签属性名为username,值为sselements.addContent(new Element("username").setText("ss"));elements.addContent(new Element("password").setText("dd"));// 将已经设置好值的elements赋给rootroot.addContent(elements);}// 定义一个用于输出xml文档的类XMLOutputter XMLOut = new XMLOutputter();try {// 将生成的xml文档Doc输出到c盘的test.xml文档中XMLOut.output(Doc, new FileOutputStream("./test.xml"));} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 获取xml 文件  根据 name 值 修改修改 * @throws Exception  */public static void editItem() throws Exception{ SAXBuilder sb = new SAXBuilder(); Document doc = sb.build("./test.xml"); Element root = doc.getRootElement(); List<Element> list = root.getChildren("cdr"); for(Element ele : list){ //判断 name  是否为7  为7 就修改 username值 if(ele.getAttributeValue("name").equals("7")){ Element un = ele.getChild("username"); un.setText("iiiii"); } } XMLOutputter XMLOut = new XMLOutputter(); XMLOut.output(doc, new FileOutputStream("./test.xml"));}/** * 获取xml 文件 添加 一个数据项 * @throws Exception */public static void addItem() throws Exception{ SAXBuilder sb = new SAXBuilder(); Document doc = sb.build("./test.xml"); Element root = doc.getRootElement(); Element elements = new Element("cdr"); elements.setAttribute("name", "7"); elements.addContent(new Element("username").setText("jiang")); elements.addContent(new Element("username").setText("12345s")); root.addContent(elements); XMLOutputter XMLOut = new XMLOutputter(); XMLOut.output(doc, new FileOutputStream("./test.xml"));}}


0 0