JAXP/DOM demo
body, table{font-family: 微软雅黑; font-size: 10pt}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}
| exam.xml | Exam.xml |
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><exam>
<student examid="222" idcard="111">
<name>张三</name>
<location>沈阳</location>
<grade>89</grade>
</student>
<student examid="444" idcard="333">
<name>李四</name>
<location>大连</location>
<grade>97</grade>
</student>
</exam>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><exam>
<student ID="0" examid="444" idcard="333">
<name>李四光</name>
<location>大连</location>
<grade>97</grade>
<性别/></student>
<student ID="1" examid="333" idcard="222"><name>王五</name><location>铁岭</location><grade>99</grade><性别/></student></exam>
|
| XMLwork.java | |
|
package com.java.home4;
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;
public class XMLwork {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder=dbf.newDocumentBuilder();
Document document=documentBuilder.parse("exam.xml");
//1. 向该xml文档里添加一个用户,姓名:王五,;location:铁岭;grade:99
Element newStudent=document.createElement("student");
newStudent.setAttribute("idcard", "222");
newStudent.setAttribute("examid", "333");
Element newStudentName=document.createElement("name");
newStudentName.setTextContent("王五");
Element newStudentLocation=document.createElement("location");
newStudentLocation.setTextContent("铁岭");
Element newStudentGrade=document.createElement("grade");
newStudentGrade.setTextContent("99");
newStudent.appendChild(newStudentName);
newStudent.appendChild(newStudentLocation);
newStudent.appendChild(newStudentGrade);
NodeList rootElement = document.getElementsByTagName("exam");
Node item = rootElement.item(0);
item.appendChild(newStudent);
|
//2. 给每个学生增加一条信息,性别。
NodeList studentList = document.getElementsByTagName("student");
System.out.println(studentList.item(0).getFirstChild().getTextContent());
for(int i=0;i<studentList.getLength();++i){
Element newSex=document.createElement("性别");
//有几个student就要新建几个
studentList.item(i).appendChild(newSex);
}
//3. 删除第一个学生张三的所有信息。
Node rootNode =document.getElementsByTagName("exam").item(0);
rootNode.removeChild(studentList.item(0));
//4. 将第二个学生李四的姓名改为 李四光
for(int i=0;i<studentList.getLength();++i){
for(int j=0;j<studentList.item(i).getChildNodes().getLength();j++){
if( studentList.item(i).getChildNodes().item(j).getNodeName().equals("name") )
if( studentList.item(i).getChildNodes().item(j).getTextContent().equals("李四") )
studentList.item(i).getChildNodes().item(j).setTextContent("李四光");
}
}
//5. 给每个学生增加一个ID属性。
for(int k=0;k<studentList.getLength();++k){
String arg=k+"";
((Element)studentList.item(k)).setAttribute("ID",arg);
}
//xml写入
TransformerFactory tsf =TransformerFactory.newInstance();
Transformer tsTransformer = tsf.newTransformer();
tsTransformer.transform(
new DOMSource(document),
new StreamResult("src/Exam.xml"));
}
}
|
JAXP/DOM demo的更多相关文章
- JAXP Dom 案例 对xml文件进行增加 查找 删除
利用 JAXP 对 XML文件 的处理,把xml当做一个数据库来对待
- XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...
- Java用DOM操作xml
JAXP DOM方式解析XML文档实例增删改查package jiexi; import javax.xml.parsers.DocumentBuilder; import javax.xml.par ...
- jQuery学习之旅 Item4 细说DOM操作
jQuery-–DOM操作(文档处理) Dom是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准 ...
- XML解析之JAXP
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- JavaEE实战——XML文档DOM、SAX、STAX解析方式详解
原 JavaEE实战--XML文档DOM.SAX.STAX解析方式详解 2016年06月22日 23:10:35 李春春_ 阅读数:3445 标签: DOMSAXSTAXJAXPXML Pull 更多 ...
- Java上面出现这个错误如何解决关于XML的
Java上面出现这个错误如何解决关于XML的 2015-01-07 14:49 hejiashun11325 | 分类:JAVA相关 | 浏览265次 The type org.xmlpull.v1. ...
- (转载)XML解析之-XStream解析
转载来源:http://hwy584624785.iteye.com/blog/1168680 本例使用XStream生成一个xml文件,再发序列化xml文件内容. XStream是一个简单的类库,可 ...
- S5中新增的Array方法详细说明
ES5中新增的Array方法详细说明 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wor ...
随机推荐
- goole机器学习视频链接【学习笔记】
作者:庄泽彬 说明:在youtu上观看的google的机器学习相关的视频,如何fangqiang请自己解决 机器学习简介:https://www.youtube.com/watch?time_cont ...
- 论文笔记——Factorized Convolutional Neural Networks
1. 论文思想 将3D卷积分解为spatial convolution in each channel and linear projection across channels. (spatial ...
- gulp常用命令
gulp 默认的执行的命名文件为gulpfile 换成其他命名就识别不了 因为需要安装两次gulp或者说其他插件,一个是全局-g安装一个是本地目录安装, 本地目录安装时目录移动或者名字被改变就会失效提 ...
- The way to Go(3): 安装Go环境
Reference: Github: Go Github: The way to Go 在mac上安装Go语言初体验 安装Go环境 Go 语言开发团队开发了适用于以下操作系统的编译器: Linux F ...
- 04_kafka python客户端_Producer模拟
使用的python库: kafka-python 安装方式: pip install kafka-python 简单的模拟Producer """ Kafka Produ ...
- HDU 6073 Matching In Multiplication(拓扑排序+思维)
http://acm.hdu.edu.cn/showproblem.php?pid=6073 题意:有个二分图,左边和右边的顶点数相同,左边的顶点每个顶点度数为2.现在有个屌丝理解错了最佳完美匹配,它 ...
- UVa 11235 频繁出现的数值
https://vjudge.net/problem/UVA-11235 题意: 给出一个非降序排列的整数数组a1,a2,...,an,你的任务是对于一系列询问(i,j),回答ai,ai+1,...a ...
- R语言 sub与gsub函数的区别
> text <- c("we are the world", "we are the children") > sub("w&qu ...
- go语言 变量类型
package main import "fmt" func main() { //这是我们使用range去求一个slice的和.使用数组跟这个很类似.创建数组 nums := [ ...
- ubuntu14.04, keyboard shortcuts