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库在Java中实现XML的增删改查操作。 一、XML的基本结构与JDOM解析 XML文档由元素(Element)、属性(Attribute)、文本内容(Text)等组成。JDOM通过SAX和DOM两种方式解析XML文档。...
本篇文章将详细探讨Java对XML文档进行增删改查的多种方法。 1. **解析XML文档** 在Java中,解析XML主要有DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)三种方式。 ...
然而,SAX不提供直接的文档遍历,需要开发者编写事件处理器来实现增删改查功能,相对DOM和JDOM来说,编程复杂度稍高。 4. DOM4J DOM4J是另一个Java XML处理库,它结合了DOM和SAX的优点。DOM4J提供了简洁的API,同时...
在"完整的jdom增删改查"这个主题中,我们将深入探讨如何使用JDOM来执行XML文档的基本操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete),这通常被称为CRUD操作。 1. 创建(Create): 创建...
它提供了简单而直观的API,使得在Java中对XML进行增删改查变得容易。本文将详细介绍如何使用DOM4J进行XML的操作。 首先,我们需要理解XML的基本概念。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它...
通过这个XML增、删、改、查的示例,我们可以更好地理解XML文档的动态操作,并掌握如何利用Java等编程语言进行处理。实际应用中,这些技能对于数据交换、配置文件管理以及任何需要与XML数据交互的场景都至关重要。
本教程"xml-EXAM.rar_3dm_CQIC_xml增删改查"聚焦于使用Java处理XML文件,实现基本的数据操作:增加、删除、修改和查询。 首先,让我们理解XML的基本结构。XML文档由元素构成,元素是XML的最基本单位,用来封装数据...
"Java 操作 XML 增删改查" 在 Java 中操作 XML 文档有多种方式,常见的有 DOM、DOM4J、JDOM 和 SAX。...这个示例代码使用 DOM 方式来操作 XML 文档,获取 XML 文档对象,并可以对其进行增删改查操作。
Java 操作 XML 文件主要包括四种方式:DOM、JDOM、DOM4J 和 SAX。每种方法都有其特定的优势和适用场景。 1. DOM (Document Object Model):DOM 是一种 W3C 标准,提供了一种将整个 XML 文档加载到内存中的模型,...
在本文中,我们将深入探讨JDOM的核心概念、如何进行XML的增删改查操作以及相关的最佳实践。 ### 一、JDOM的基本概念 1. **Document**: XML文档的根节点,代表整个XML结构。 2. **Element**: XML文档中的元素,可以...
**JDOM 操作 XML 文档详解** XML (eXtensible Markup Language) 是一种用于标记数据的语言,广泛应用于数据交换、配置文件等场景。而 JDOM(Java Document Object Model)是一个专门为 Java 设计的 XML 处理库,它...
Java XML API是Java平台上的...通过这些API,开发者可以根据需求选择最适合的XML处理方式,不论是小型还是大型XML文件,都能有效地进行操作。在实际项目中,合理选择和组合使用这些API,能够提高代码的效率和可维护性。
2. **操作XML**:对`Document`对象进行增删改查,比如修改`Element`的属性,添加子元素等。 3. **输出XML**:使用`XMLOutputter`类将`Document`对象转换回XML字符串或写入文件。 JDOM还支持XPath表达式,允许开发者...
这使得我们可以方便地通过Java代码对XML文档进行增删改查。JDOM提供了两种主要的构建方式:SAXBuilder和DOMBuilder。SAXBuilder适用于大型XML文件,因为它基于事件驱动,占用内存较少;DOMBuilder则适用于小到中型的...
2. **操作XML**: 通过`Element`、`Attribute`等类对`Document`进行增删改查操作。 3. **序列化XML**: 将修改后的`Document`对象转换回XML字符串,可以使用`XMLOutputter`完成此任务。 在压缩包中,`jdom-1.0`和`...
3. **操作XML**:通过Element、Attribute和Text对象,JDOM提供了丰富的API来进行XML文档的增删改查操作。例如,可以轻松添加、删除或修改元素、属性及其值。 4. **序列化**:JDOM可以将构建好的XML Document对象...
例如,可以创建一个新的XML文档,或者读取已有的XML文件,然后对其中的元素进行增删改查操作。JDOM的API设计旨在减少代码量,提高开发效率,让XML处理更加便捷。 总结来说,JSP实现对XML的读写涉及了XML的基本概念...
3. **操作XML**:对`Document`对象进行增删改查操作,如添加元素、修改属性值、删除元素等。 4. **保存XML文档**:最后,通过`Transformer`将`Document`对象转换回XML字符串或写入文件。 **五、JDOM API简要介绍** ...