zoukankan      html  css  js  c++  java
  • 用jdom来解析xml文件小Demo

    JDOM是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序。它的设计包含 Java 语言的语法乃至语义。

    点击下载jdom jar包

    自己做了个java工程例子先介绍下文件结构:


    我xml文档是放在src目录下面的,具体内容如下:

     

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


    下面就是我用jdom工具来操作xml文件了,我只写了遍历,删除和添加节点的例子;相信大家一看就明白修改怎么写了:

     

    package com.ydcun.test;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    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;
    
    public class TestDemo {
    	private static Document document; // 存放读取的文件
    	private static String path = "src/struts.xml"; // 文件存放路径
    	//加载文件
    	public TestDemo() throws Exception {
    		SAXBuilder bulider = new SAXBuilder();
    		InputStream inSt = new FileInputStream(path);
    		document = bulider.build(inSt);
    	}
    	//遍历解析文档
    	public void xmlParse(){
    		
    		
    		Element root = document.getRootElement();		//获取根节点对象
    		List<Element> list = root.getChildren();
    		for(Element el: list){
    			System.out.println("id="+el.getAttributeValue("id"));
    			System.out.println("  name:"+el.getChildText("username"));
    			System.out.println("  password:"+el.getChildText("password"));
    		}
    
    	}
    	//添加节点
    	public  void addElement() throws  Exception{
    		//创建一个person节点
    		Element el = new Element("person");
    		el.setAttribute("id","3");
    		//创建username节点
    		Element elName = new Element("username");
    		elName.setText("qiqi");
    		///创建password节点
    		Element elPassword = new Element("password");
    		elPassword.setText("123456");
    		//将username,password添加到person节点内
    		el.addContent(elName);
    		el.addContent(elPassword);
    		
    		//获取根节点将person节点添加到根节点内
    		Element root = document.getRootElement();
    		root.addContent(el);
    		document.setRootElement(root);
    		
    		//将添加的保存到文件中
    		XMLOutputter out = new XMLOutputter();
    		out.output(document, new FileOutputStream(path));
    		
    	}
    	//删除节点
    	public void deleteElement(int id) throws Exception{
    		Element root = document.getRootElement();
    		List<Element> list = root.getChildren();
    		for(Element el : list){
    			if(el.getAttributeValue("id").equals(id+"")){
    				root.removeContent(el);	//将符合条件的节点删除
    			}
    		}
    		XMLOutputter out = new XMLOutputter();
    		out.output(document, new FileOutputStream(path));
    	
    	}
    	public static void main(String[] args) throws Exception {
    		TestDemo td = new TestDemo();
    //		td.addElement();//添加节点
    //		td.xmlParse();//便利xml文件
    		td.deleteElement(3);//删除节点
    	}
    }
    


    通过上面的操作我们很容易掌握xml文件操作!








  • 相关阅读:
    用iptables封杀内网的bt软件
    FreeBSD 利用IPFW实现限制局域网使用QQ
    网络安全设备Bypass功能介绍及分析
    活用Windows Server 2008系统的几种安全功能
    恢复mysql管理员密码
    远程控制Windows2003下安装Pcanywhere导致Awgina.dll出错的解决办法
    Ubuntu 11.04 LAMP+JSP环境安装过程
    hbase首次导入大批次的数据成功!
    Chubby是什么?
    DP-Triangle
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3091795.html
Copyright © 2011-2022 走看看