package CreateXmlByDom;

import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
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 testCom {
public static void main(String[] args) throws Exception{
//1:第一步获取DocumentBuilderFactory对象
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
//2:获取一个DocumentBuilder对象
DocumentBuilder db= factory.newDocumentBuilder();
//3:创建一个Document类型的空文档
Document doc=db.newDocument();
//4:创建doc文档中的根节点bookstore
Element bookstore=doc.createElement("bookstore");
//5:创建一个bookstore节点的子节点book
Element book=doc.createElement("book");
//6:为book节点设置属性
book.setAttribute("id ", "1");
//7:为book设置文本内容,包括四个文本内容,name, author,price ,version
Element name=doc.createElement("name");//继续设定一个孙节点
name.setTextContent("Core java");
Element author=doc.createElement("author");//继续设定一个孙节点
author.setTextContent("Horstmann");
Element price=doc.createElement("price");//继续设定一个孙节点
price.setTextContent("36");
Element version=doc.createElement("version");//继续设定一个孙节点
version.setTextContent("4.0");
//8:同时的将创建的bookstore 节点添加到doc文件中去
doc.appendChild(bookstore);
//9:将book节点添加到bookstore节点中去
bookstore.appendChild(book);
//10:将name,author,price ,version 等文本添加到book节点中去
book.appendChild(name);
book.appendChild(author);
book.appendChild(price);
book.appendChild(version);
//11:获得TransformerFactory对象,并且通过newInstance()方法实例化TransformerFactory对象
TransformerFactory transformerfactory=TransformerFactory.newInstance();//工厂类
//12:获得Transformer对象,注意这里面的transform的方法
// transformer.transform(new DOMSource(doc), new StreamResult(new File("bookstore.xml"))); 
 
             Transformer transformer=transformerfactory.newTransformer(); 

            Source xmlsource=new DOMSource(doc);
            Result outputTarget = new StreamResult(new File("bookstore1.xml"));
            transformer.transform(xmlsource, outputTarget); } }

  

javaxml文件基础:Dom怎么生成xml文件的更多相关文章

  1. Python中使用dom模块生成XML文件示例

    在Python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文件,下一篇文章再继续介绍Dom解析XML文件. 在生成XML文件中,我们主 ...

  2. Java&Xml教程(四)使用DOM方式生成XML文件

    在前面的教程中,我们学习了使用DOM解析方式读取和修改XML文件内容,今天我们来学习如何使用DOM解析机制生成XML文件. 下面是我们对要生成的XML文件的具体要求: 1.根节点元素为"Em ...

  3. 生成XML文件,通过实体生成XML文件

    实体 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xm ...

  4. 使用Pull解析器生成XML文件和读取xml文件

    有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...

  5. 使用Pull解析器生成XML文件

    有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...

  6. Java——DOM方式生成XML (转)

    http://blog.csdn.net/u012325167/article/details/50943202 使用DOM方式生成XML文件有如下几步: 首先是创建DOM树(即规定XML文件中的内容 ...

  7. DOM生成XML文件

    /** * 从数据库读取学生信息的数据集合,然后Dom创建数据树,再转成XML格式数据,输出生成xml文件 * @author pikaqiu * */ public class TestGenXml ...

  8. Python:Dom生成XML文件(写XML)

    http://www.ourunix.org/post/327.html 在python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文 ...

  9. java 编程基础:注解(Annotation Processing Tool)注解处理器 利用注解解读类属性生成XML文件

    APT的介绍: APT(Annotation Processing Tool)是一种注解处理工具,它对源代码文件进行检测,并找出源文件所包含的注解信息,然后针对注解信息进行额外的处理. 使用APT工具 ...

随机推荐

  1. Win8 Metro动态加载内容框架

    制作背景 为了参加ImagineCup 2013 世界公民类比赛,我们设计制作了一个可动态扩展的幼教类App.这个App需要能动态加载内容,内容包括带动画可交互的电子书,动画,视频,游戏. 技术支持 ...

  2. Elasticsearch Mantanence Lessons Learned Today

    Today I troubleshooted an Elasticsearch-cluster-down issue. Several lessons were learned: When many ...

  3. C#并行编程系列-文章导航

    菜鸟初步学习,不对的地方请大神指教,参考<C#并行编程高级教程.pdf> 目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 C# ...

  4. Redis命令笔记

    一.string类型:(1)set :设置key对应的值为string类型的value,例:set name helloworld(2)get :获取key对应的值为string类型的value,例: ...

  5. PHP中的list()说明

    list() 用于在一次操作中给一组变量赋值. 注释:list()只用于数字索引的数组,且假定数字索引从 0 开始. 说明 list() 用数组中的元素为一组变量赋值. 注意,与 array() 类似 ...

  6. OpenCASCADE Conic to BSpline Curves-Parabola

    OpenCASCADE Conic to BSpline Curves-Parabola eryar@163.com Abstract. Rational Bezier Curve can repre ...

  7. datatable去重

    两种方法1 数据库直接去除重复select distinct * from 表名去除了重复行distinct 2 对 DataTable直接进行操作DataTable dt=db.GetDt(&quo ...

  8. 自定义配置UEditor 工具栏上的按钮列表

    修改配置项的方法: 1. 方法一:修改 ueditor.config.js 里面的 toolbars 2. 方法二:实例化编辑器的时候传入 toolbars 参数 方法一:在ueditor.confi ...

  9. 安装ClouderaManager以及使用ClouderaManager安装分布式集群的若干细节

    目录 前言 整体介绍 分步安装介绍 总结 一.前言        周末干了近四十个小时中间只休息了五个小时终于成功安装了ClouderaManager以及分布式集群,其中各种辛酸无以言表,唯有泪两行. ...

  10. 自己在总结前人经验下弄的几个opencv封装函数

    第一个是增加对比度的函数,就是变亮. IplImage* EqualizeHistColorImage(IplImage *pImage) { IplImage *pEquaImage = cvCre ...