`
375809600
  • 浏览: 153907 次
  • 来自: 湖北
社区版块
存档分类
最新评论

Dom解析(增删改查)

阅读更多

xml文档:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><persons>
<person>
<name>wuyihua</name>
<grade>98</grade>
<id>1</id></person>
<person job="student">
<name>zengxiangjian</name>
<grade>100</grade>
<id>3</id></person>
</persons>





package com.dom.domain;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.junit.Test;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Domparse {
private Document doc;
@Test
public void parseXml() throws Exception {//解析xml的的方法
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();// 得到解析工厂
DocumentBuilder builder = factory.newDocumentBuilder();
   doc = builder.parse("src/person.xml");
}
@Test
public void read() throws Exception {//读取指定的节点,并打印出名字
parseXml();
Node node = doc.getElementsByTagName("person").item(0);
System.out.println(node.getNodeName());
}
@Test
public void ListAll() throws Exception {//列出所有节点的方法
parseXml();
NodeList personsNode = doc.getElementsByTagName("persons");
list(personsNode);
}
public void list(NodeList list) {//用来递归获取子节点的方法
for (int i = 0; i < list.getLength(); i++) {
Node node = list.item(i);
System.out.println(node.getNodeName());
NodeList nodelist = node.getChildNodes();
list(nodelist);
}
}
@Test
    public void addElement() throws Exception{//添加子节点,并为子节点设置名字和属性
parseXml();
    Node node=doc.getElementsByTagName("person").item(0);
    Element price=doc.createElement("price");
    price.setAttribute("hello", "world");
    price.setTextContent("100");
    node.appendChild(price);
    write2Xml();
    }
@Test
public void Delete() throws Exception{//删除节点,先获取指定的节点,然后获取父节点,再删除自己;
parseXml();
Node childNode=doc.getElementsByTagName("price").item(0);
Node parentNode=childNode.getParentNode();
parentNode.removeChild(childNode);
write2Xml();
}
@Test
    public void write2Xml() throws Exception{//将变更后的文档写入person.xml的方法
    TransformerFactory factory=TransformerFactory.newInstance();
    Transformer tf=factory.newTransformer();
    tf.transform(new DOMSource(doc), new StreamResult("src/person.xml"));
   
    }
}

0
5
分享到:
评论

相关推荐

    dom4j解析xml文件(增删改查)

    在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解DOM4J的基本用法。在解析XML文件时,...

    java DOM解析xml操作大全,增删改查

    在这个"java DOM解析xml操作大全,增删改查"的主题中,我们将深入探讨如何使用DOM解析XML,以及如何结合三层架构(表示层、业务逻辑层、数据访问层)来实现这些操作。 首先,DOM解析的核心是`javax.xml.parsers....

    Xml完全操作 XML增删改查

    在Java中,我们可以使用DOM(Document Object Model)解析器将整个XML文档加载到内存中的树形结构中,便于遍历和操作。另一种解析方式是SAX(Simple API for XML),它采用事件驱动模型,逐行处理XML,节省内存但不...

    node+vue前后端分离增删改查

    在现代Web开发中,前后端分离的架构设计已经成为主流,其中“Node+Vue前后端分离增删改查”是一个典型的示例。这个项目利用Node.js(搭配Express框架)作为后端服务器,处理数据请求和业务逻辑,而Vue.js(配合...

    XML课程设计实现增删改查

    在本"XML课程设计实现增删改查"项目中,我们聚焦于如何使用XML进行数据存储,并通过Java编程实现对这些数据的CRUD(创建Create、读取Read、更新Update、删除Delete)操作。 XML的基本结构包括元素(Element)、属性...

    dom4j操作xml的增删改查

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而灵活的方式来解析、创建、修改和查询XML文档,是Java开发中的一个常用...通过实践这些基本操作,开发者可以轻松地在自己的项目中实现XML的增删改查功能。

    基于Javaweb中用Ajax做的增删改查

    在本项目中,需要编写SQL语句来执行增删改查操作。例如,`INSERT INTO`, `DELETE FROM`, `UPDATE`, `SELECT`等。 5. **JDBC连接**: Java通过Java Database Connectivity (JDBC) API与SQL Server建立连接。需要...

    XML增删改查源码实现

    本资源提供了XML的增删改查功能的源代码实现,帮助学习者快速掌握如何在实际项目中操作XML文档。下面将详细解释XML的基本概念以及如何实现增删改查功能。 XML的结构: XML文档由元素、属性、文本内容、注释等构成。...

    easyui增删改查案例

    在这个"easyui增删改查案例"中,我们将深入探讨如何利用 EasyUI 实现数据的添加(Add)、删除(Delete)、修改(Modify)和查询(Query)功能,这些都是Web应用程序中最基础且重要的操作。 1. **EasyUI 的基本概念*...

    JAVA 操作 XML 增删改查

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

    java xml增删改查多种方法

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

    一个页面实现Ajax效果的增删改查-JQuery+Json版

    本项目"一个页面实现Ajax效果的增删改查-JQuery+Json版"正是利用了这一技术,结合jQuery库和JSON数据格式,为用户提供了一个在一个页面上完成数据增、删、改、查功能的示例。 **jQuery** 是一个轻量级的JavaScript...

    Servlet+jsp+AJax的分页及增删改查

    在本文中,我们将深入探讨如何使用Servlet、JSP和Ajax技术实现一个完整的增删改查(CRUD)功能以及分页。Servlet是Java Web应用程序的一部分,用于处理客户端请求和响应。JSP则是一种动态网页技术,它允许在服务器端...

    SSH增删改查Ajax异步刷新

    在“SSH增删改查”中,Struts负责接收用户操作,根据配置的Action映射转发到相应的业务逻辑,并将结果返回给视图层进行展示。 Hibernate是Java领域的一个持久化框架,它简化了数据库操作,将对象与数据库表进行映射...

    用户增删改查

    在IT行业中,"用户增删改查"是任何应用程序中最基本的功能模块,它涉及到数据库操作以及前后端交互。本文将详细解析使用SSM框架(Spring、SpringMVC、MyBatis)实现后端代码,以及如何结合jQuery、Bootstrap和...

    一个页面实现Ajax效果的增删改查-JQuery+Json版.zip

    对于页面上的增删改查操作,通常会涉及到DOM元素的动态操作。jQuery提供了丰富的DOM操作方法,如$.append()用于在元素末尾添加内容,$.remove()用于移除元素,$.html()或$.text()用于更新元素内容。 综上所述,这个...

    使用dom4j对xml的解析,对xml的增删改查

    该文件是一页完整代码,它是使用dom4j对xml的解析,对xml的增删改差

    XML 基于JAVA DOM 增删改查

    以下是对"XML基于JAVA DOM 增删改查"这一主题的详细解释。 首先,我们需要理解DOM解析的基本概念。DOM解析器将XML文档转化为一个对象模型,每个元素、属性、文本等都被表示为一个对象,这些对象构成了一个层级结构...

    maven+ssm简单的增删改查实例

    【标题】"maven+ssm简单的增删改查实例"是基于Java Web开发的一个典型应用,它结合了Maven项目构建工具、Spring框架、Struts2(或Spring MVC)和MyBatis数据访问层技术,实现了对数据库的常规操作,如添加(Add)、...

    JavaScript 实现HTML DOM增删改查操作的常见方法详解

    JavaScript实现HTML DOM增删改查操作的常见方法详解主要介绍了如何使用JavaScript对HTML文档对象模型(DOM)进行元素的查找、增加、删除和修改操作。这些操作是Web开发中非常基础且常用的功能,能够对网页元素进行...

Global site tag (gtag.js) - Google Analytics