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 ...
随机推荐
- 修改MongoDb的 DB 和 Log 存储路径 (Windows)-摘自网络
Create a file called mongod.cfg in MongoDB folder if you dont have it. In my case: C:\Users\ivanbtru ...
- SSH与SSL
1. SSL SSH 即Secure Shell,它主要由三部分组成: 第一部分:连接协议 [SSH-CONNECT] 将多个加密隧道分成逻辑通道.它运行在用户认证协议上.它提供了交互式登录话路.远程 ...
- CoffeeScript学习(2)—— 变量
变量基础 对于变量的定义的话,形式如下所示 xxx = yyy ------编译后------ var xxx = yyy; 保留字 我们知道,在原生js中的保留字是不能作为变量名或者属性名的.如果我 ...
- Android问题-打开DelphiXE8与DelphiXE10新建一个空工程提示"out of memory"
错误信息: [DCC Error] E2597 d:\XE8\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-l ...
- PC问题-VMware Workstation出现“文件锁定失败”
问题现象:电脑关机时挂起VMware Workstation后,第二天运行VMware Workstation出现“文件锁定失败”. 问题原因:在WIN的目录中有*.LCK文件,此文件是用来锁定当前虚 ...
- Linux 系统 root下目录结构
/bin 用于存放普通用户可执行的命令./boot 用于存放Linux 启动所必需的文件,即我们建立的boot 分区的内容./dev 用于存放系统的设备文件./etc 用于存放系统的各种配置文件./h ...
- java assert的用法简介
assert的基本用法 assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制,如C,C++和Eiffel等,但是支持的形式不尽相同,有的是通过语言本身.有的是通过库 ...
- picture to string
图片转化为字符原理: 一张m*n大小的图片,实际上可以看成是一个m*n的矩阵.矩阵的每一个元素就是一个Color值,不同的Color值,用不同的Ascii可以在屏幕上打印显示的字符来代替,于是可以得到 ...
- Nginx应用案例分享:压力测试
在运维工作中,压力测试是一项非常重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验. 但是,在压力测试中存在一个共性,那就是压力测试的 ...
- PD16 Generate Datebase For Sql2008R2时报脚本错误“对象名sysproperties无效”
PowerDesinger16创建数据库表到SQL2008R2时,执行报"对象名sysproperties无效"错误. 主要是在建模时我们对表.列增加了些说明注释,而Sql2005 ...