`

xml增删改查

 
阅读更多
package com.cgm.crudxml;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class CrudXmlTest {

public static void main(String[] args) {

Document document = getDocument();

xmlAddElement(document);

updateXml(document); //修改xml文档对象
SaveDocumentXml(document); //保存xml文档对象

deleteXmlNode(document); //删除xml节点对象

}

private static void xmlAddElement(Document document) {
//增加节点
Element rootElemt = document.getDocumentElement(); //取得根节点
Element newElement = document.createElement("book"); //创建新元素
newElement.setAttribute("id", "b008");

Element tiElement = document.createElement("title");
newElement.appendChild(tiElement);
tiElement.setTextContent("天龙八部");

Element priceElement = document.createElement("price");
newElement.appendChild(priceElement);
priceElement.setTextContent("200");

rootElemt.appendChild(newElement); //追加新节点
SaveDocumentXml(document); //保存xml文档对象
}

private static void deleteXmlNode(Document document) {

try {
NodeList nodeList = document.getElementsByTagName("book");

for (int i = 0; i < nodeList.getLength(); i++) {
Node bookNode = nodeList.item(i);
Element bookElement = (Element) bookNode;
String id = bookElement.getAttribute("id").trim(); //取得book的Id名称

System.out.println("id的只是===========" + id);
if ("b003".equals(id)) { //删除书籍

Node parentNode = bookElement.getParentNode();
Node node = parentNode.removeChild(bookElement);
System.out.println("===" + node);

}

}

SaveDocumentXml(document);
} catch (Exception e) {
e.printStackTrace();
}

}

private static void updateXml(Document document) {
try {
NodeList nodeList = document.getElementsByTagName("book");

for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
Element element = (Element) node;
String id = element.getAttribute("id"); //取得book的Id名称
if ("b001".equals(id)) { //找到书籍
NodeList chiList = element.getElementsByTagName("title");
Node title = chiList.item(0);

System.out.println(title.getTextContent());

//Node price = title.getNextSibling();

// System.out.println(price.getTextContent());
//price.setTextContent("100000");

title.setTextContent("C++基础");

}

}
} catch (Exception e) {
e.printStackTrace();
}

}

/*
* 保存xml
*/

private static void SaveDocumentXml(Document document) {
try {
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
Source xmlsSource = new DOMSource(document);
Result result = new StreamResult("books.jasp.xml");

transformer.transform(xmlsSource, result);
System.out.println("done");

} catch (Exception e) {
e.printStackTrace();
}
}

/*
* 取得xml
*/
public static Document getDocument() {
Document document = null;
try {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse("book.xml");
System.out.println(document);
NodeList boolNodeList = document.getElementsByTagName("book");
System.out.println(boolNodeList);
} catch (Exception e) {
e.printStackTrace();
}

return document;
}

}

<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="b001">
<title>java core</title>
<price>688</price>
</book>
<book id="b002">
<title>思想政治</title>
<price>515</price>
</book>
<book id="b003">
<title>世界历史</title>
<price>545</price>
</book>
<book id="b004">
<title>大学生物</title>
<price>512</price>
</book>
</books>
分享到:
评论

相关推荐

    C# 高级技巧 操作 XML 增 删 改 查

    C# 高级技巧 操作 XML 增 删 改 查 C# 高级技巧 操作 XML 增 删 改 查 C# 高级技巧 操作 XML 增 删 改 查 C# 高级技巧 操作 XML 增 删 改 查 C# 高级技巧 操作 XML 增 删 改 查

    Xml完全操作 XML增删改查

    XML(eXtensible Markup Language)是一种用于标记数据的语言,其设计目的是传输和存储数据,而非显示数据。在IT行业中,XML因其结构清晰、可扩展性强的特点,被广泛应用于数据交换、配置文件、Web服务等领域。本文...

    XML增删改查源码实现

    XML(eXtensible Markup Language)是一...总之,XML增删改查是XML编程中的基础操作,对于任何涉及XML处理的开发工作都是至关重要的。通过深入理解和实践提供的源码,你将能有效地管理XML文档,从而提升你的编程技能。

    JAVA 操作 XML 增删改查

    JAVA作为一款跨平台的编程语言,提供了丰富的API来操作XML,本篇将重点讲解如何使用JAVA进行XML的增删改查操作。 首先,从"JAVA 操作 XML 增删改查"这个标题来看,我们可以预知内容将涵盖XML文件的基本操作。这些...

    XML增删改查 不用数据库,直接用xml代替,速度和效率很快

    .net资源 XML增删改查(不用数据库,直接用xml代替,速度和效率很快)XML增删改查(不用数据库,直接用xml代替,速度和效率很快)XML增删改查(不用数据库,直接用xml代替,速度和效率很快)XML增删改查(不用数据库...

    C#对XML增删改查+ASP源代码

    在这个"C#对XML增删改查+ASP源代码"项目中,开发者提供了一种基于C#和ASP来操作XML文件的解决方案,使得XML可以作为简单的数据库替代品。 首先,我们来详细讲解XML的基础知识。XML是一种自描述性的标记语言,它允许...

    QT中XML增删改查,不会有重复beta

    最近在做QT项目,要把一些配置内容写入xml中,网上没有一个可以概括xml增删改查的内容,现在写一篇,包含完整的增删改查,测试通过,具体代码如下: 其中的测试代码见mainwindows.cpp里面,里面有创建xml文件,增加...

    .net XML增删改查

    C#语言提供了强大的XML处理能力,使得开发者能够轻松地实现对XML文档的增删改查操作。本文将详细讲解如何在C#中进行XML操作,并结合"WebApplication2"项目中的实践来阐述这一主题。 首先,我们需要了解.NET ...

    XML增删改查操作实例

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、自解释性和可扩展性而被广泛应用于Web应用程序、配置文件、数据交换等多个领域。在处理XML文件时,通常会涉及到对XML文档的四...

    c#中xml的增删改查操作

    在C#中进行XML文件的增删改查操作是一种常见的数据处理方式,尤其适用于轻量级数据存储或配置文件管理。下面将详细解析如何在C#中实现对XML文件的基本操作,包括创建、读取、更新和删除。 ### 创建XML文件 首先,...

    xml 增 删 改 查

    根据提供的文件信息,本文将详细解释XML文档的基本操作——增、删、改、查,并通过示例代码来进一步阐述这些操作的具体实现。 ### XML简介 XML(Extensible Markup Language)是一种用于标记数据的语言,它允许定义...

    QT_DOM方式操作xml文件增删改查.rar

    QT_DOM方式操作xml文件增删改查 博文参考: https://txwtech.blog.csdn.net/article/details/126321336?spm=1001.2014.3001.5502

    XML增删改查经典示例--.rar

    "XML增删改查"是指在XML文档中进行添加、删除、修改和查询数据的基本操作,这些操作是理解和应用XML的关键技能。 1. **XML文档结构** - **文档声明**: XML文档以`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`开始,...

    xml-EXAM.rar_3dm_CQIC_xml增删改查

    本教程"xml-EXAM.rar_3dm_CQIC_xml增删改查"聚焦于使用Java处理XML文件,实现基本的数据操作:增加、删除、修改和查询。 首先,让我们理解XML的基本结构。XML文档由元素构成,元素是XML的最基本单位,用来封装数据...

    java xml增删改查多种方法

    本篇文章将详细探讨Java对XML文档进行增删改查的多种方法。 1. **解析XML文档** 在Java中,解析XML主要有DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)三种方式。 ...

    java版xml增删改查 xmlParse_V1.0.0.1_20170907.jar

    java版完整xml增删改查 xmlParse_V1.0.0.1_20170907.jar,处理速度快,效率高,封装好,简单易使用,易理解,代码简洁。

    java操作xml增删改查.pdf

    "Java 操作 XML 增删改查" 在 Java 中操作 XML 文档有多种方式,常见的有 DOM、DOM4J、JDOM 和 SAX。每种方式都有其优缺,选择哪种方式取决于具体的项目需求。 DOM DOM(Document Object Model)是 W3C 推荐的一...

Global site tag (gtag.js) - Google Analytics