import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
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.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;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

public class CreateXML {
public static void main(String[] args) {
try {
//获取DOM工厂解析类
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.newDocument();
//设置根节点
Element root=document.createElement("Persons");
root.setAttribute("start", "tab");
Element person=document.createElement("person");
person.setAttribute("id", "1");
Element name=document.createElement("name");
name.setTextContent("xiaosan");
Element age=document.createElement("age");
age.setTextContent("100");

//一层一层添加子节点
person.appendChild(name);
person.appendChild(age);
root.appendChild(person);
document.appendChild(root);
System.out.println("xml创建成功!");

//将生成的Document生成file
TransformerFactory transformerFactory=TransformerFactory.newInstance();
Transformer transformer=transformerFactory.newTransformer();

//将xml转换为file文件
transformer.transform(new DOMSource(document),new StreamResult(new FileOutputStream("test.xml")));

//输出到控制台
StringWriter writer=new StringWriter();
transformer.transform(new DOMSource(document), new StreamResult(writer));
System.out.println(writer.toString());

//获取xml文件生成Document对象
DocumentBuilderFactory xBuilderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder=xBuilderFactory.newDocumentBuilder();
Document doc=dBuilder.parse(new InputSource(new FileInputStream("test.xml")));

//More....

} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

}

Java_DOM创建XML的更多相关文章

  1. .net中xml文件的导入使用(包括创建xml和导入xml)

    上次有说到.net 创建xml文件的方法(一种固定方式,一种动态方法),这次记录一下怎样导入xml文件 1.导入xml文件的方法 1)xml文件格式

  2. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

  3. C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)

    最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...

  4. dom4j创建xml

    在前边介绍SAX,PULL等等既然能解析,当然也能生成.不过这里介绍dom4j创建xml文件,简单易懂. dom4j是独立的api,官网:http://www.dom4j.org/    可以去这下载 ...

  5. Java读取、创建xml(通过dom方式)

    创建一个接口 XmlInterface.java public interface XmlInterface {           /**         * 建立XML文档         * @ ...

  6. 创建XML

    //创建XML XElement xelement = new XElement("request", new XElement("head", new XEl ...

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

    java中的代码 import java.io.File; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; ...

  8. TinyXML2读取和创建XML文件 分类: C/C++ 2015-03-14 13:29 94人阅读 评论(0) 收藏

    TinyXML2是simple.small.efficient C++ XML文件解析库!方便易于使用,是对TinyXML的升级改写!源码见本人上传到CSDN的TinyXML2.rar资源:http: ...

  9. XML文件操作类--创建XML文件

    这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...

随机推荐

  1. js之oop <六>数组的crud(增删改)

    增 Create: push(); 向数组尾添加元素 var arr = [2,6,8,7,4]; arr.push(100); console.log(arr); //输出 [2,6,8,7,4,1 ...

  2. The The Garbage-First (G1) collector since Oracle JDK 7 update 4 and later releases

    Refer to http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html for detail. 一些内容复制到这儿 Th ...

  3. 根据不同的ie的版本号,制定不同的方法

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. js数组倒叙输出

    第一种:是直接利用代码进行输出 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...

  5. 不断弹出svchost.exe错误框

    同事的一台电脑,xp系统,启动后就弹出svchost错误的对话框,不论确定还是取消,关闭后立刻又弹出. 打开任务管理器,尝试对一些后安装的软件结束进程,结束一个,关闭一次,看看结束哪一个,关闭后不再弹 ...

  6. poj 3734 Blocks

    ゲート 分析:这题过的人好多,然后大家好像是用矩阵过的(((φ(◎ロ◎;)φ))).我自己是推公式的. 对于任意的有这个式子, 就是先从里面选偶数个涂成两个指定的颜色,再在选出的里面选定涂某种颜色,选 ...

  7. TEA,XXTEA介绍,对称加密

    总结:在使用加密的时候,我们可以加入随机数,这样相同的明文,每次加密后得到不同的密文,同时可以在密文中加入密文有效期,控制密文的有效时间长度. 针对有的功能扩展使用,很好的思想. TEA对 64 位数 ...

  8. PDF 补丁丁 0.5.0.2273 测试版发布:修复崩溃问题,可自定义工具栏文本

    新的测试版修复了编辑器在打开文件后再打开文件会崩溃的严重错误,以及一些小问题. 在一些小细节上作了调整,例如可自定义常用工具栏的文本等等. 由于之前测试版本的错误比较严重,推荐网友下载新的测试版.

  9. 16101301(MaterialLOD QualitySwitch)

    [目标] MaterialLOD QualitySwitch [思路] 1 QualitySwitch UE4有三挡 UE3 2 现在UE3需要添加三挡 3 UE3 class UMaterialEx ...

  10. 吐槽!important专用博文

    在IT公司实习了1个多月,氛围还是不错的,也算是积累了一些项目经验,同时在代码模块化.版本控制.任务优先级等方面有了更进一步的体会和理解,深刻认识到在一个团队,最重要的是沟通和负责. 嗯,说了下题外话 ...