文档章节

利用Element修改数据

藍色的海
 藍色的海
发布于 2012/04/06 22:55
字数 346
阅读 77
收藏 0

Element的API

1)void removeAttribute(String name):通过名称移除属性

2)void setAttribute(String name,String value):给定属性名称和值,添加新属性

下面将鲜花的id属性改为编号属性,然后在xml文件的最后添加节点:

flowers.xml文件

 

<?xml version="1.0" encoding="UTF-8"?>
<flowers>
  <flower id="1">
     <name>玫瑰</name>
     <price>10</price>
  </flower>
  <flower id="2">
     <name>百合</name>
     <price>20</price>
  </flower>
   <flower id="3">
     <name>兰花</name>
     <price>30</price>
  </flower>
</flowers>

 WriteElement.java

 

import java.io.File;
import java.util.ArrayList;
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.NodeList;
public class WriteElement {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		DocumentBuilder db=dbf.newDocumentBuilder();
		Document doc=db.parse("flowers.xml");
		//查询所有flower
		NodeList  list=doc.getElementsByTagName("flower");
		for(int i=0;i<list.getLength();i++){
			Element flowerElement=(Element)list.item(i);
			//获得id属性
			String id=flowerElement.getAttribute("id");
			//删除id属性
			flowerElement.removeAttribute("id");
			//添加"编号"属性,值为原先的id属性值
			flowerElement.setAttribute("编号", id);
		}
		
		//创建一个新元素
		Element newFlower=doc.createElement("flower");
		newFlower.setAttribute("编号","4");
		Element newName=doc.createElement("name");
		newName.setTextContent("康乃馨");
		newFlower.appendChild(newName);
		Element newPrice=doc.createElement("price");
		newPrice.setTextContent("23");
		newFlower.appendChild(newPrice);
		//得到根节点
		Element root=doc.getDocumentElement();
		//在根节点中添加newFlower
		root.appendChild(newFlower);
		
		//保存入文件
		TransformerFactory tf=TransformerFactory.newInstance();
		Transformer transformer=tf.newTransformer();
		DOMSource source=new DOMSource(doc);  //将Document对象封装为DOM源
		File file=new File("newFlowers.xml");
		StreamResult result=new StreamResult(file); //通过StreamResult包装File对象,确定输出的目标
		transformer.transform(source, result);  //利用Transformer的transform方法将源输出到目标
	}

}

 显示效果newFlower.xml文件

© 著作权归作者所有

藍色的海
粉丝 3
博文 19
码字总数 7205
作品 0
广州
其他
私信 提问
CVE-2018-4990 Adobe Reader代码执行漏洞利用分析

  背景   2018年5月15日,ESET发布文章“A tale of two zero-days”,该文章披露了今年3月ESET在恶意软件扫描引擎(VirusTotal)上捕获了一个用于攻击测试的 PDF文档。该PDF文档样本包含...

FreeBuf
2018/06/01
0
0
ggplot2学习笔记系列之主题(theme)设置

上次提了下theme(),本文将专门讲解一下。凡是与数据无关的图形设置可以归为主题类,ggplot2中主题设置十分多,根本不可能讲解完,只能稍微讲点皮毛,灵活运用才是关键,本文只是总体上略作介...

R语言中文社区
2018/02/27
0
0
Python基本数据类型之字符串、列表、元组、字典讲解

Python基本数据类型之字符串、列表、元组、字典讲解 1. 字符串 1.1 字符串的拼接 在python中,字符串使用运算符+进行拼接。同时,若要将字符串与数字进行拼接,需要使用str()函数对数字进行显...

JoeyMao的博客
2017/12/14
0
0
gstreamer 概述以及TX1 硬解码多路RTSP流

以NVIDIA TX1为例硬解码就是利用硬件芯片来解码的,TX1有单独的解码模块,NVDEC. 软解码是用软件程序来解码,比较占用CPU资源 查看cpu gpu 以及编解码模块的使用: sudo ./tegrastats 1.gstr...

csdnhuaong
2018/04/21
0
0
基于Element-admin-ui开发后台管理系统

最近新项目,开始独立做一个web B端管理系统,从框架搭建到第一版项目线上部署,大概花了1月有余时间。利用这两天时间好好整理下这中间遇到的一些问题。 一 框架选择 因为项目周期的原因,全...

五个半柠檬
2018/08/14
0
5

没有更多内容

加载失败,请刷新页面

加载更多

CenOS7安装Docker--yum安装

每次安装都要去看官方文档,比较烦。所以把官网的搬过来。官网链接:https://docs.docker.com/install/linux/docker-ce/centos/ #卸载已有的Dockersudo yum remove docker \ ...

RippleChan
8分钟前
2
0
SpringBoot2.0高级案例(07) 整合:Redis集群 ,实现消息队列场景

本文源码GitHub地址:知了一笑https://github.com/cicadasmile/middle-ware-parent 一、Redis集群简介 1、RedisCluster概念 Redis的分布式解决方案,在3.0版本后推出的方案,有效地解决了...

知了一笑
24分钟前
0
0
服务器常见问题和故障诊断排除

原创: AIX7 talkwithtrend x86 服务器常见问题和故障诊断排除 | 周末送资料 : https://mp.weixin.qq.com/s/Qe_KConoUS6UzIANxAKacw 注意 : x86是我们广为熟知的架构,在核心处理器基础上,...

寰宇01
29分钟前
0
0
Android Camera模块解析之拍照

最近学习Android的camera模块,本文先介绍一下camera2的api,然后给出android camera拍照的例子,讲解一下camera 拍照的原因知识,与大家共勉。 camera2 介绍 android camera拍照功能介绍 一...

天王盖地虎626
38分钟前
7
0
Excel 曝Power Query安全漏洞

近日,Mimecast 威胁中心的安全研究人员,发现了微软 Excel 电子表格应用程序的一个新漏洞,获致 1.2 亿用户易受网络攻击。其指出,该安全漏洞意味着攻击者可以利用 Excel 的 Power Query 查...

linuxCool
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部