package com.wss; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.UUID; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; 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; import org.w3c.dom.Text; public class GPS_GNSS_XML_Color { //删除节点时传入的参数 private static String deleteNumber; //修改节点时传入的参数 private static String updateNumber; //读取传入的路径,返回一个document对象 public static Document loadInit(String filePath){ Document document = null; try{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.parse(new File(filePath)); document.normalize(); return document; }catch(Exception e){ e.printStackTrace(); System.out.println(e.getMessage()); return null; } } /** * 删除制定的xml * @param filePath * @return */ public static boolean deleteXML(String filePath){ deleteNumber = "421f481e-790c-41be-91e3-27d215b73ce2"; Document document = loadInit(filePath); try{ NodeList nodeList = document.getElementsByTagName("color"); for(int i=0; i<nodeList.getLength(); i++){ String number_ = document.getElementsByTagName("number").item(i).getFirstChild().getNodeValue(); //删除节点时传入的参数 if(number_.equals(deleteNumber)){ Node node = nodeList.item(i); node.getParentNode().removeChild(node); saveXML(document, filePath); } } return true; }catch(Exception e){ e.printStackTrace(); System.out.println(e.getMessage()); return false; } } /** * 修改制定的xml * @param filePath * @return */ public static boolean updateXML(String filePath){ updateNumber = "421f481e-790c-41be-91e3-27d215b73ce2"; //读取传入的路径,返回一个document对象 Document document = loadInit(filePath); try{ //获取叶节点 NodeList nodeList = document.getElementsByTagName("color"); //遍历叶节点 for(int i=0; i<nodeList.getLength(); i++){ String number = document.getElementsByTagName("number").item(i).getFirstChild().getNodeValue(); String colorValue = document.getElementsByTagName("colorValue").item(i).getFirstChild().getNodeValue(); Double minValue = Double.parseDouble(document.getElementsByTagName("minValue").item(i).getFirstChild().getNodeValue()); Double maxValue = Double.parseDouble(document.getElementsByTagName("maxValue").item(i).getFirstChild().getNodeValue()); //修改节点时传入的参数 if(number.equals(updateNumber)){ document.getElementsByTagName("colorValue").item(i).getFirstChild().setNodeValue("black"); document.getElementsByTagName("minValue").item(i).getFirstChild().setNodeValue("2222"); document.getElementsByTagName("maxValue").item(i).getFirstChild().setNodeValue("22222"); System.out.println(); } } saveXML(document, filePath); return true; }catch(Exception e){ e.printStackTrace(); System.out.println(e.getMessage()); return false; } } /** * 添加节点 * @param filePath * @return */ public static boolean addXML(String filePath){ try{ //读取传入的路径,返回一个document对象 Document document = loadInit(filePath); //创建叶节点 Element eltColor = document.createElement("color"); Element eltNumber = document.createElement("number");//创建叶节点的第一个元素 Element eltColorValue = document.createElement("colorValue");//创建叶节点的第二个元素 Element eltMinValue = document.createElement("minValue");//创建叶节点的第三个元素 Element eltMaxValue = document.createElement("maxValue");//创建叶节点的第四个元素 Text number_ = document.createTextNode(UUID.randomUUID().toString());//创建叶节点的第一个元素下的文本节点 eltNumber.appendChild(number_);//把该文本节点加入到叶节点的第一个元素里面 Text colorValue_ = document.createTextNode("colorValue");//创建叶节点的第二个元素下的文本节点 eltColorValue.appendChild(colorValue_);//把该文本节点加入到叶节点的第二个元素里面 Text minValue_ = document.createTextNode("100");//创建叶节点的第三个元素下的文本节点 eltMinValue.appendChild(minValue_);//把该文本节点加入到叶节点的第三个元素里面 Text maxValue_ = document.createTextNode("200");//创建叶节点的第四个元素下的文本节点 eltMaxValue.appendChild(maxValue_);//把该文本节点加入到叶节点的第四个元素里面 //把叶节点下的元素加入到叶节点下 eltColor.appendChild(eltNumber); eltColor.appendChild(eltColorValue); eltColor.appendChild(eltMinValue); eltColor.appendChild(eltMaxValue); //获取根节点 Element eltRoot = document.getDocumentElement(); //把叶节点加入到根节点下 eltRoot.appendChild(eltColor); //更新修改后的源文件 saveXML(document, filePath); return true; }catch(Exception e){ e.printStackTrace(); System.out.println(e.getMessage()); return false; } } /** * 把修改后的document写进源文件(更新源文件) * @param document * @param filePath * @return */ public static boolean saveXML(Document document, String filePath){ try{ TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(new File(filePath)); transformer.transform(source, result); return true; }catch(Exception e){ e.printStackTrace(); System.out.println(e.getMessage()); return false; } } /** * 获取xml文件的所有记录 * @param filePath * @return */ public static List<ColorValue> selectXML(String filePath){ List<ColorValue> colorValueList = new ArrayList<ColorValue>(); try{ //读取传入的路径,返回一个document对象 Document document = loadInit(filePath); //获取叶节点 NodeList nodeList = document.getElementsByTagName("color"); //遍历叶节点 for(int i=0; i<nodeList.getLength(); i++){ ColorValue colorValue = new ColorValue(); String number_ = document.getElementsByTagName("number").item(i).getFirstChild().getNodeValue(); String colorValue_ = document.getElementsByTagName("colorValue").item(i).getFirstChild().getNodeValue(); Double minValue_ = Double.parseDouble(document.getElementsByTagName("minValue").item(i).getFirstChild().getNodeValue()); Double maxValue_ = Double.parseDouble(document.getElementsByTagName("maxValue").item(i).getFirstChild().getNodeValue()); colorValue.setNumber(number_); colorValue.setColorValue(colorValue_); colorValue.setMinValue(minValue_); colorValue.setMaxValue(maxValue_); colorValueList.add(colorValue); } return colorValueList; }catch(Exception e){ e.printStackTrace(); System.out.println(e.getMessage()); return null; } } } package com.wss; public class ColorValue { private String number; private String colorValue; private Double minValue; private Double maxValue; public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getColorValue() { return colorValue; } public void setColorValue(String colorValue) { this.colorValue = colorValue; } public Double getMinValue() { return minValue; } public void setMinValue(Double minValue) { this.minValue = minValue; } public Double getMaxValue() { return maxValue; } public void setMaxValue(Double maxValue) { this.maxValue = maxValue; } }
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <Colors> <color> <number>7007b384-fab3-4779-9171-229d0664b6b5</number> <colorValue>black</colorValue> <minValue>2222</minValue> <maxValue>22222</maxValue> </color> <color> <number>421f481e-790c-41be-91e3-27d215b73ce2</number> <colorValue>colorValue</colorValue> <minValue>100</minValue> <maxValue>200</maxValue> </color> </Colors>
相关推荐
在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解DOM4J的基本用法。在解析XML文件时,...
要实现对XML文件的增、删、改、查操作,我们需要使用Java的标准库JAXB(Java Architecture for XML Binding)或者DOM(Document Object Model)、SAX(Simple API for XML)等解析器。下面将详细介绍这些操作的具体...
本篇文章将详细探讨Java对XML文档进行增删改查的多种方法。 1. **解析XML文档** 在Java中,解析XML主要有DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)三种方式。 ...
在Java中,我们可以使用DOM(Document Object Model)解析器将整个XML文档加载到内存中的树形结构中,便于遍历和操作。另一种解析方式是SAX(Simple API for XML),它采用事件驱动模型,逐行处理XML,节省内存但不...
在本"XML课程设计实现增删改查"项目中,我们聚焦于如何使用XML进行数据存储,并通过Java编程实现对这些数据的CRUD(创建Create、读取Read、更新Update、删除Delete)操作。 XML的基本结构包括元素(Element)、属性...
首先,从"JAVA 操作 XML 增删改查"这个标题来看,我们可以预知内容将涵盖XML文件的基本操作。这些操作通常包括创建XML文件、读取XML内容、修改XML元素以及删除XML节点。在JAVA中,主要使用DOM(Document Object ...
本文将详细介绍如何使用Java实现XML文件的读取、添加、修改和删除(即“增删改查”)功能。这些操作对于处理配置文件、数据存储或者在不同系统间传递信息至关重要。 ### XML文件读取 读取XML文件通常涉及DOM...
在这个“对XML进行增删改查例子”中,我们将探讨如何操作XML文档,包括添加新节点、删除已有节点、修改现有节点内容以及查询XML结构中的特定信息。 1. **XML的基本结构** XML文档由一系列元素组成,每个元素都有一...
Java对XML文件增删改查操作示例 XML(Extensible Markup Language)是目前最流行的一种数据交换格式,它的广泛应用在各个领域,包括数据存储、数据交换、配置文件等。Java作为一门现代化的编程语言,当然也提供了...
总的来说,`XMLUtil.java`是一个实用的工具类,它封装了XML处理的常见操作,使得开发者能更便捷地对XML文件进行增删改查。通过理解和使用此类,我们可以高效地处理XML数据,提高代码的可维护性和灵活性。不过,为了...
在这个"java DOM解析xml操作大全,增删改查"的主题中,我们将深入探讨如何使用DOM解析XML,以及如何结合三层架构(表示层、业务逻辑层、数据访问层)来实现这些操作。 首先,DOM解析的核心是`javax.xml.parsers....
本教程将深入探讨如何使用XML进行增删改查的操作,并提供相应的Java源代码示例。 首先,我们需要理解XML的基本结构。XML文档由元素构成,元素通过标签来定义,如`<element>`...`</element>`。属性是附加在元素上的...
这个主题“java 根据数据表实现增删改查代码自动生成”主要关注如何利用Java工具或框架,根据数据库中的数据表结构,自动生成对应的业务操作代码,以减少手动编写的工作量,确保代码的一致性和准确性。 1. **代码...
本资源提供了XML的增删改查功能的源代码实现,帮助学习者快速掌握如何在实际项目中操作XML文档。下面将详细解释XML的基本概念以及如何实现增删改查功能。 XML的结构: XML文档由元素、属性、文本内容、注释等构成。...
编写Web应用程序(JavaEE平台上的应用,能够运行在Tomcat服务器上),实现学生信息的增删改查。 在Web页面上实现添加一个学生记录,删除某个学生记录,修改某个学生记录,和按照姓名,学号进行查询。 要求列表输出...
本教程将详细介绍如何使用Java与MongoDB进行交互,包括基本的增删改查(CRUD)操作。首先,我们需要引入MongoDB的Java驱动程序,这通常通过Maven或Gradle的依赖管理来实现。 1. **添加依赖** 在Maven的`pom.xml`...
HY增删改查代码生成工具。HY增删改查代码生成工具,快速生成crud应用,支持自定义模板扩展。适合后台管理应用的基本增删该查代码的生成,简单配置即可搞定一个单页增删改查应用!可以生成以下代码 html页面(默认 可...
在这个"XML实现的增删改查(CRUD)功能实例"中,我们将深入探讨如何使用DOM4J库来执行这些基本操作。 1. **增加(Create)**: 在XML中添加新的元素或属性属于创建操作。DOM4J提供了Element类,可以用来创建新的节点...
在实际开发中,为了提高代码的复用性和减少重复工作,开发者通常会实现一套通用的增删改查模板,这就是“Mybatis通用增删改查”的概念。 1. **基础 DaoImpl 概念** Dao(Data Access Object)接口是Java中用于...
在本示例中,"javaweb、jdbc增删改查demo、实例"是一个实际操作的项目,旨在教授如何使用JavaWeb和JDBC(Java Database Connectivity)来实现数据库中的基本操作:增(Add)、删(Delete)、改(Update)和查...