javaweb学习总结十一(JAXP对XML文档进行DOM解析)
一:将内存中写好的xml文件读取到硬盘上
二:DOM方式对xml文件进行增删改查
1:添加节点(默认是在最后的子节点后面添加)
@Test
// 向元素中添加节点<version>1.0</version>
public void test5() throws Exception {
Document doc = getDoc();
Node node = doc.getElementsByTagName("book").item(0); // 创建节点
Element newChild = doc.createElement("version");
newChild.setTextContent("1.3");
// 添加节点
node.appendChild(newChild); // 将内存中xml读取到硬盘中
TransformerFactory factory = TransformerFactory.newInstance();
Transformer tf = factory.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(
"xml/books.xml")));
}
2:在指定位置添加节点
@Test
// 2:在指定位置添加子节点
public void test6() throws Exception {
Document doc = getDoc();
// 获取要添加节点的父节点
Node node = doc.getElementsByTagName("book").item(1); // 获取参考节点
Node refNode = doc.getElementsByTagName("author").item(1); // 创建节点
Node childNode = doc.createElement("version");
childNode.setTextContent("2.34"); // 将节点添加到指定位置
node.insertBefore(childNode, refNode); // 将内存中xml读取到硬盘中
TransformerFactory factory = TransformerFactory.newInstance();
Transformer tf = factory.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(
"xml/books.xml")));
}
3:删除节点(方式一)
@Test
// 3:删除节点
public void test7() throws Exception {
Document doc = getDoc();
// 获取要删除节点的父节点
Node node = doc.getElementsByTagName("book").item(1);
Node childNode = doc.getElementsByTagName("version").item(0);
node.removeChild(childNode); // 将内存中xml读取到硬盘中
TransformerFactory factory = TransformerFactory.newInstance();
Transformer tf = factory.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(
"xml/books.xml")));
}
4:删除节点(方式二)
@Test
public void test8() throws Exception {
Document doc = getDoc();
// 获取要删除的节点
Node childNode = doc.getElementsByTagName("version").item(0);
childNode.getParentNode().removeChild(childNode); // 将内存中xml读取到硬盘中
TransformerFactory factory = TransformerFactory.newInstance();
Transformer tf = factory.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(
"xml/books.xml")));
}
5:修改节点内容
@Test
// 修改节点内容
public void test9() throws Exception {
Document doc = getDoc();
// 获取要删除的节点
Node node = doc.getElementsByTagName("price").item(0);
node.setTextContent("200"); // 将内存中xml读取到硬盘中
TransformerFactory factory = TransformerFactory.newInstance();
Transformer tf = factory.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(
"xml/books.xml")));
}
6:添加节点属性
@Test
// 添加节点属性
public void test10() throws Exception {
Document doc = getDoc();
// 获取要删除的节点
Element ele = (Element) doc.getElementsByTagName("name").item(0);
ele.setAttribute("style", "width:80px;"); // 将内存中xml读取到硬盘中
TransformerFactory factory = TransformerFactory.newInstance();
Transformer tf = factory.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(
"xml/books.xml")));
}
7:删除节点属性
@Test
// 删除节点属性
public void test11() throws Exception {
Document doc = getDoc();
// 获取要删除属性的节点
Element ele = (Element) doc.getElementsByTagName("name").item(0);
ele.removeAttribute("style"); // 将内存中xml读取到硬盘中
TransformerFactory factory = TransformerFactory.newInstance();
Transformer tf = factory.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(
"xml/books.xml")));
}
javaweb学习总结十一(JAXP对XML文档进行DOM解析)的更多相关文章
- 2.1 使用JAXP 对 xml文档进行DOM解析
//使用 jaxp 对xml文档进行dom解析 public class Demo2 { //必要步骤 @Test public void test() throws Exception { //1. ...
- 使用JAXP对xml文档进行DOM解析基础
XML解析方式分为两种:dom和sax dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式. sax: ...
- 使用JAXP对XML文档进行DOM解析
import java.io.FileOutputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers. ...
- 2.2 使用 JAXP 对XML文档进行SAX解析
使用JAXP 对 XML文档进行 SAX解析: public class Demo1 { /** * 使用JAXP对XML文档进行SAX解析 * @throws Exception * @throws ...
- javaweb学习总结十二(JAXP对XML文档进行SAX解析)
一:JAXP使用SAX方式解析XML文件 1:dom解析与sax解析异同点 2:sax解析特点 二:代码案例 1:xml文件 <?xml version="1.0" enco ...
- XML文档读取-DOM
DOM(Document Object Model),“文档对象模型”早期是为了解决不用浏览器间数据兼容问题提出的解决方案,现在已经是W3C组织推荐的处理可扩展标志语言的标准编程接口. W3C DOM ...
- 源生API解析XML文档与dom4j解析XML文档
一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可 ...
- Java高级特性 第13节 解析XML文档(1) - DOM和XPath技术
一.使用DOM解析XML文档 DOM的全称是Document Object Model,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树 ...
- 使用Dom4j对XML文档创建与解析
创建XML文件: public class Dom4jCreateXml { public void testCreatXml() { //创建文档对象 Document document = Doc ...
随机推荐
- Java IO (4) - Writer
Java IO (4) - Writer 前言 JavaIO一共包括两种,一种是stream,一种是reader/writer,每种又包括in/out,所以一共是四种包.Java 流在处理上分为字符流 ...
- [iOS UI进阶 - 6.1] 核心动画CoreAnimation
A.基本知识 1.概念 Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对 ...
- [iOS基础控件 - 6.9.1] 聊天界面Demo 代码
框架: 所有代码文件: Model: // // Message.h // QQChatDemo // // Created by hellovoidworld on 14/12/8. // ...
- CSS3之背景剪裁Background-clip
CSS3之背景剪裁Background-clip是CSS3中新添加的内容.这个属性还是比较简单的,主要分五个属性值:border.padding.content.no-clip和text.下面将针对这 ...
- Lua学习笔记(四):表和数组
表 在Lua中,表(table)是十分重要的一种数据结构,实际上Lua对于复杂数据类型也仅提供了表给我们,我们通过表可以实现我们需要的大部分重要的数据结构,比如数组. table类型实现了关联数组,关 ...
- EasyUI datagrid添加右键菜单项
js代码 //动态加载数据表格 function InitData() { $('#grid').datagrid({ url: '/Home/Query?r=' + Math.random(), / ...
- linux信号量超过系统限制
部署一台新服务器,信号量报错,观察也没有key冲突,错误分析及解决如下: 创建一个不存在的信号量集返回参数错误的报错,因为信号量集的信号量数量超过了系统限制. 系统默认 /home/poc#ipcs ...
- 微软IIS服务器的最佳优化工具- IIS Tuner
dudu的 <让Windows Server 2008 + IIS 7+ ASP.NET 支持10万个同时请求>,里面涉及到需要手工调整参数的地方.在这篇文章中,我们给你介绍一个IIS ...
- JAVA事务的概念
From:http://www.cnblogs.com/kristain/articles/2038397.html 一.什么是事务 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数 ...
- CSS 文本格式
整理自:(http://www.w3school.com.cn/css/css_text.asp) Text Color 颜色属性被用来设置文字的颜色. 颜色是通过CSS最经常的指定: 十六进制值 - ...