用jdom来解析xml文件小Demo

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

点击下载jdom jar包

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

用jdom来解析xml文件小Demo

我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文件操作!

 








 

你可能感兴趣的:(解析xml)