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文件,或者也可以使 ...
随机推荐
- linux硬盘分区格式化及挂载
1.硬盘的接口类型 硬盘的接口一般分为两种,一种是IDE并行接口,一种是SATA串行接口, 在linux上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备,这是因为 ...
- sudo详解
一. sudo的特点 sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会导致非法用户攫取root权限.同时,它还要兼顾易用性,让系统管理员能够更有效,更方便地使用它.sudo设计者的宗旨是:给用 ...
- centos 安装 mysql 5.6和workbench
windows下安装mysql很简单,去官网找到.msi文件,一键安装就OK了. Centos下面安装Mysql5.6其实也是蛮简单的. 注意:centos6.5默认mysql版本是5.1的 1.添加 ...
- windows10 IOT +Azure会议概要总结
windows10 IOT +Azure会议概要总结 会议资料将放到https://channel9.msdn.com/Blogs/WinHEC FAQ:msftsziot@microsoft.com ...
- oracle 快照
select count(*) from atzserreportb drop snapshot atzserreportb Create snapshot atzserreportb as sele ...
- Nodejs之socket广播
nodejs发送udp广播还是蛮简单的,我们先写个服务器用于接收广播数据,代码如下: var dgram = require("dgram"); var server = dgra ...
- WebRTC的学习(二)
英文原文的链接地址为:https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Overview WebRTC是由一些关联的API和协议一 ...
- [SAP ABAP开发技术总结]反射,动态创建内表、结构、变量
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- implement "slam_karto" package in Stage simulation
slam_karto ROS Wiki: http://wiki.ros.org/slam_karto Source: https://github.com/ros-perception/slam_k ...
- iOS - UITabBarController
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITabBarController : UIViewController <UITabBarDelegate ...