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>
相关推荐
java实现对xml文件的增 删 改 查 操作
代码主要是显示xml文件,之后对xml文件进行增删改查等操作
java写的关于xml文档的解析,有关增删改查全方面的操作,而且有多种不同的方法
Dom操作xml文件,增删改查的操作,三层架构设计,servlet,过滤器,利用单例模式开发
编写Web应用程序(JavaEE平台上的应用,能够运行在Tomcat服务器上),实现学生信息的增删改查。 在Web页面上实现添加一个学生记录,删除某个学生记录,修改某个学生记录,和按照姓名,学号进行查询。 要求列表输出...
HY增删改查代码生成工具。HY增删改查代码生成工具,快速生成crud应用,支持自定义模板扩展。适合后台管理应用的基本增删该查代码的生成,简单配置即可搞定一个单页增删改查应用!可以生成以下代码 html页面(默认 可...
主要介绍了Java对XML文件增删改查操作,结合完整实例形式分析了java针对xml格式数据的常见读写、增删改查等操作技巧,需要的朋友可以参考下
一个用于阅读XML 内容的JAVA程序,实现了对XML文件的增删改查!
主要介绍了java使用DOM对XML文档进行增删改查操作实例代码,实例涉及对xml文档的增删改查,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
该文件是一页完整代码,它是使用dom4j对xml的解析,对xml的增删改差
Java操作xml文件,对xml文件的增、删、改、查,简单的web应用,几个功能对应几个servlet
java图形界面实现对xml解析,从而实现xml的增删改查,类似将xml当做数据的存储介质。内附java工程,jar打包后的exe文件,运行速度有点慢,双击后稍等片刻即可显示,另外,此项目使用netbeansIDE编写,导入eclipse...
java调用oracle存储过程入门实例 增删改查 使用dom4j读取数据库的配置文件(xml) jdbc中connection的管理 使用threadlocal
java操作xml增删改查,JDOM 和DOM在性能测试时表现不佳,在测试10M文档时内存溢出。在小文档情况下还值得考虑使用DOM和JDOM.虽然JDOM的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它...
采用Dom模型,非常适用初学者。C#对Xml文件的增、删、查、改实例C#对Xml文件的增、删、查、改实例C#对Xml文件的增、删、查、改实例C#对Xml文件的增、删、查、改实例
日程系统读取的是xml数据格式的日程信息,并能实现增删改查,来控制xml文档
主要介绍了Java使用dom4j实现对xml简单的增删改查操作,结合实例形式详细分析了Java使用dom4j实现对xml简单的增删改查基本操作技巧与相关注意事项,需要的朋友可以参考下
简单的增删改查,实现java文件导出成xml文件
目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J. 2:JDOM 和DOM在性能测试时表现不佳,在测试10M文档时内存溢出。在小文档情况下还...
主要为大家详细介绍了java使用DOM4J对XML文件进行增删改查操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下