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>
分享到:
相关推荐
完 整 的jdom 增 删 改 查,是 学 习 的 好 帮 手@!!!!!!
jdom 操作XML实现增删改查 jdom 操作XML实现增删改查
jdom增,删,改,解析,看看吧!
四种对XML文件的解析方法,分别是Dom,Jdom,SAX和Dom4j这四种方法,并实现了对xml文件的增删改查功能
java操作xml增删改查,JDOM 和DOM在性能测试时表现不佳,在测试10M文档时内存溢出。在小文档情况下还值得考虑使用DOM和JDOM.虽然JDOM的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它...
在小文档情况下还值得考虑使用DOM和JDOM.虽然JDOM的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。另外,DOM仍是一个非常好的选择。DOM实现广泛应用于多种编程...
jdom读取xml jdom建立xml jdom修改xml ParseDomDocument
使用 jdom.jar包读取、修改 xml文件,并将修改后的xml保存
jdom解析XML(修改为比较通用的方法) jdom解析XML(修改为比较通用的方法) jdom解析XML(修改为比较通用的方法)
jdom源码+jdom.jar jdom源码+jdom.jar
jdom-1.0 jdom jdom-1.0,jdom解析xml
jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml
Jdom教程. .
Introduction to the JDOM project Please see the JDOM web site at http://jdom.org/ and GitHub repository at https://github.com/hunterhacker/jdom/ Quick-Start for JDOM See the github wiki for a Primer ...
jdom jdom jdom jdom jdom
jdom源代码,其中包含jdom.jar
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
JDOM讲解 JDOM讲解 JDOM讲解
org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org....
压缩包内有jdom-1.1.2和jdom的chm格式的帮助文档,文档的内容来自官网,因而能够保证完整性。