使用DOM创建xml文件

创建xml的代码如下:

public class CreateXML {

  public static void main(String[] args) {
DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
try { DocumentBuilder builder=factory.newDocumentBuilder();
Document documnet= builder.newDocument();
Element root=documnet.createElement("languages");
root.setAttribute("cat", "it"); Element lan1=documnet.createElement("lan");
lan1.setAttribute("id", "1");
Element name1=documnet.createElement("name");
name1.setTextContent("java");
Element ide1=documnet.createElement("ide");
ide1.setTextContent("eclipse");
lan1.appendChild(name1);
lan1.appendChild(ide1); Element lan2=documnet.createElement("lan");
lan2.setAttribute("id", "2");
Element name2=documnet.createElement("name");
name2.setTextContent("c#");
Element ide2=documnet.createElement("ide");
ide2.setTextContent("visual studio");
lan2.appendChild(name2);
lan2.appendChild(ide2); Element lan3=documnet.createElement("lan");
lan3.setAttribute("id", "3");
Element name3=documnet.createElement("name");
name3.setTextContent("swift");
Element ide3=documnet.createElement("ide");
ide3.setTextContent("visual studio");
lan3.appendChild(name3);
lan3.appendChild(ide3); root.appendChild(lan1);
root.appendChild(lan2);
root.appendChild(lan3);
documnet.appendChild(root); //使用transformer将xml文档转换成其他格式
TransformerFactory tfactory=TransformerFactory.newInstance();
Transformer former=tfactory.newTransformer(); //将xml内容以字符串输出
StringWriter writer=new StringWriter();
former.transform(new DOMSource(documnet), new StreamResult(writer));
System.out.println(writer.toString()); //将xml内容保存为文件
former.transform(new DOMSource(documnet), new StreamResult(new File("newxml.xml")));
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
} } }

将xml的内容放入document对象后,直接把这document用toString输出会是null

此时需要进行使用Transformer进行转换,如果想变成字符串输出可以借助stringwriter,如果想变成文件保存直接用file

备注:eclipse中可以用ctrl+i进行格式化xml文件,更易于观察

使用DOM创建xml文件的更多相关文章

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

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

  2. 创建xml文件、解析xml文件

        1.创建XML文件: import codecs import xml.dom.minidom doc=xml.dom.minidom.Document() print doc root=do ...

  3. java通过dom读写xml文件

    java通过dom读写xml文件 要读的xml文件 <?xml version="1.0" encoding="GB2312"?><学生花名册 ...

  4. Java 操纵XML之创建XML文件

    Java 操纵XML之创建XML文件 一.JAVA DOM PARSER DOM interfaces The DOM defines several Java interfaces. Here ar ...

  5. DOM解析XML文件例子

    DOM解析XML文件是一次性将目标文件中的所有节点都读入,然后再进行后续操作的方式. 一般分为以下几步: 1. 定义好目标XML文件路径path . 2. 实例化DOM解析工厂对象 ,Document ...

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

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

  7. 接口开发之PHP创建XML文件

    用PHP的DOM控件来创建输出 输出的格式为XML 接口开发的相关文件及说明 <?php header("Content-type: text/xml");//头文件非常重要 ...

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

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

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

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

随机推荐

  1. 删除 iptables nat 规则

    原文:https://www.cnblogs.com/hixiaowei/p/8954161.html 删除FORWARD 规则: iptables -nL FORWARD --line-number ...

  2. Neutron 架构图

    与 OpenStack 其他服务一样,Neutron 采用的是分布式架构,包括 Neutorn Server.各种 plugin/agent.database 和 message queue. Neu ...

  3. SFML从入门到放弃(3) 视角和碰撞检测

    SFML从入门到放弃(3) 视角和碰撞检测 视角 window.draw();所画出的对象是在世界坐标的绝对位置. 视角可以选定在窗口中显示世界坐标下的的哪一个区域. sf::View init_vi ...

  4. AVL树的实现——c++

    一.概念 AVL树是根据它的发明者G.M. Adelson-Velsky和E.M. Landis命名的.它是最先发明的自平衡二叉查找树,也被称为高度平衡树.相比于"二叉查找树",它 ...

  5. Segment Tree-732. My Calendar III

    Implement a MyCalendarThree class to store your events. A new event can always be added. Your class ...

  6. Hector 入门

    导入jar包 为了能够使用hector操作Cassandra数据库,首先导入hector的jar包,注意根据实际情况修改版本号 <dependency> <groupId>me ...

  7. day 33js 后续 函数.对象

    前情提要: 今天学习的是js的函数以及简单的类的使用 一:函数的初识别 <!DOCTYPE html> <html lang="en"> <head& ...

  8. iOS---UICollectlionView 的使用

    UICollectlionView继承自UIScrollerview,跟tableview的使用很相似. 下面是UIcollectionView的一些属性和代理方法. #import "Vi ...

  9. python学习笔记02-编码

    ASCII码  255个  每一个占1个字节 8位 解决中文的问题:出现一张扩展表  支持中文的第一张表  gb2312  后来发展为GBK1.0 Gb18030 万国码:unicode 世界统一 存 ...

  10. 判断easyUI tree 节点复选框是否被选中的方法。将选中的节点高亮显示的方法

    在datagrid tree中如何判断某个节点的复选框是否被选中? 我们可以通过HTML结构去分析: 1.节点未选中前 2.节点选中后 所以节点被选中前和选中后,html中的class类是用区分的. ...