Java 创建xml文件和操作xml数据

java中的代码
import java.io.File;
import java.io.StringWriter; 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.TransformerException;
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; public class CreateXML { public static void main(String[] args) { try {
//创建xml文件。DOM方式
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.newDocument();
//添加根元素,指定标签
Element root=document.createElement("books");
//给根元素添加属性值
root.setAttribute("id", "aaa"); //创建一个子标签
Element book1=document.createElement("book");
book1.setAttribute("id", "1");
//再创建下一级的子标签
Element name1=document.createElement("name");
Element price1=document.createElement("price");
//设定标签内的内容
name1.setTextContent("小说");
price1.setTextContent("100元");
//把子标签添加到上一级标签,appendChild方法
book1.appendChild(name1);
book1.appendChild(price1); //复制以上代码,把节点填充完
Element book2=document.createElement("book");
book2.setAttribute("id", "2");
Element name2=document.createElement("name");
Element price2=document.createElement("price");
name2.setTextContent("杂志");
price2.setTextContent("200元");
book2.appendChild(name2);
book2.appendChild(price2); Element book3=document.createElement("book");
book3.setAttribute("id", "3");
Element name3=document.createElement("name3");
Element price3=document.createElement("price3");
name3.setTextContent("课本");
price3.setTextContent("300元");
book3.appendChild(name3);
book3.appendChild(price3); root.appendChild(book1);
root.appendChild(book2);
root.appendChild(book3);
document.appendChild(root);//最后一步
//文档内容创建完毕,下面是输出文档
TransformerFactory transformerFactory =TransformerFactory.newInstance();
Transformer transformer1=transformerFactory.newTransformer();
StringWriter writer=new StringWriter();
transformer1.transform(new DOMSource(document), new StreamResult(writer));
System.out.println(writer.toString());//成功输出,可以复制
//直接生成xml文件
transformer1.transform(new DOMSource(document), new StreamResult(new File("newxml.xml"))); } catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (TransformerConfigurationException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (TransformerException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} } }
生成的xml文件代码
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<books id="aaa">
<book id="1">
<name>小说</name>
<price>100元</price>
</book>
<book id="2">
<name>杂志</name>
<price>200元</price>
</book>
<book id="3">
<name3>课本</name3>
<price3>300元</price3>
</book>
</books>
Java 创建xml文件和操作xml数据的更多相关文章
- 更新java对xml文件的操作
//更新java在xml文件中操作的内容 public static void upda(Document doc) throws Exception{ //创建一个TransformerFactor ...
- 实现动态的XML文件读写操作
实现动态的XML文件读写操作(依然带干货) 前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义 ...
- 实现动态的XML文件读写操作(依然带干货)
前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义好XML文件的格式就不太现实了,如何实现不管 ...
- Java中使用DOM4J来生成xml文件和解析xml文件
一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...
- C# 操作XML文件,用XML文件保存信息
using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.IO ...
- java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .
背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...
- 创建xml文件、解析xml文件
1.创建XML文件: import codecs import xml.dom.minidom doc=xml.dom.minidom.Document() print doc root=do ...
- [XML] C# XmlHelper操作Xml文档的帮助类 (转载)
点击下载 XmlHelper.rar 主要功能如下所示 /// <summary> /// 类说明:XmlHelper /// 编 码 人:苏飞 /// 联系方式:361983679 // ...
- 使用Pull解析器生成XML文件和读取xml文件
有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...
随机推荐
- syslog及syslog-ng详解 日志服务器
服务器的日志对系统工程师来说是至关重要的,一旦服务器出现故障或被入侵,我们需要查看日志来定位问题的关键所在,所以说对于线上跑的服务器而言日志应该合理的处理及管理.下面来 服务器的日志对系统工程师来 ...
- sqlitehelper封装
appsettings <configuration> <appSettings> <add key="ConnectionString&q ...
- myeclipse页面编辑框空格、回车符、对齐出现特殊字符
myeclipse页面编辑框空格.回车符.对齐出现特殊字符 解决办法:window-preferences-general-editors-Text Editors 把show whitespa ...
- TC SRM633
第三题:n个数字,有m个限制,每个限制给出某两个数字的Gcd或者Lcm为多少.最后问这样的n个数存在否. 思路:我们发现,对于素数p1,p2,n个数中每个数含有多少个p1,p2是没有联系的,因此每个素 ...
- [HDOJ5543]Pick The Sticks(DP,01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5543 题意:往长为L的线段上覆盖线段,要求:要么这些线段都在L的线段上,要么有不超过自身长度一半的部分 ...
- VEP安装指南
#下载依赖包 sudo apt-get install -y curl rsync tar make perl perl-base tabix #设置perl环境变量 export PERL_PATH ...
- Smart Forms&ScriptFrom
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- C语言程序设计现代方法_基本类型(第七章)
C语言支持两种不同的数值类型,整数类型,浮点类型. C语言的整数类型有不同的尺寸.int类型通常为32位,但在老的CPU上可能是16位.有些可能是64位. 因此,int型如果在16位CPU上最大值就是 ...
- STL--STL和她的小伙伴们:
STL--概述: 标准模板库(StandardTemplateLibrary,STL),是C++程序设计语言标准模板库.STL是由Alexander Stepanov.Meng Lee和David R ...
- ubuntu 卸载/安装 redis
ubuntu 卸载redis 1. 卸载软件 apt-get remove redis 2. 清除配置 apt-get remove --purge redis 3. 删除残留文件 find / -n ...