这里也使用的是import org.w3c.dom.Document;

首先创建document对象,给该对象赋值,然后将document对象使用transformer的transformer转换方法转换成文件或者其他类型进行想要的操作。

1、创建DocumentBuilder对象

DocumentBuilderFactory documentBuilderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();

2、创建Document对象并赋值

DocumentBuilder的api:http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/javax/xml/parsers/DocumentBuilder.html#parse%28java.lang.String%29

 Document document=documentBuilder.parse(uri);//我这里使用的是parse方法解析uri地址的文件内容,将该内容转换成字符串
//这里使用的是新建空的document,然后给document填充内容,发现document的子节点都是使用appendChildNode()一层层加上去的,控件使用的都是document
。createElement得到Element对象。setTextContent给标签内容赋值
Document document=documentBuilder.newDocument(); Element root=document.createElement("language");
root.setAttribute("cat","it");
Element lan1=document.createElement("lan");
lan1.setAttribute("id", "1");
Element name1=document.createElement("name");
Element ide1=document.createElement("ide");
name1.setTextContent("java");
ide1.setTextContent("eclipes");
Element lan2=document.createElement("lan");
lan2.setAttribute("id", "2");
Element name2=document.createElement("name");
Element ide2=document.createElement("ide");
name2.setTextContent("Switf");
ide2.setTextContent("x-code");
Element lan3=document.createElement("lan");
lan1.setAttribute("id", "3");
Element name3=document.createElement("name");
Element ide3=document.createElement("ide");
name3.setTextContent("c#");
ide1.setTextContent("visual");
lan1.appendChild(name1);
lan1.appendChild(ide1);
lan2.appendChild(name2);
lan2.appendChild(ide2);
lan3.appendChild(name3);
lan3.appendChild(ide3);
root.appendChild(lan1);
root.appendChild(lan2);
root.appendChild(lan3);
document.appendChild(root);

创建document空对象并赋值例子:

3、转换document成xml文件

/* 生成transformer对象 */
TransformerFactory factory=TransformerFactory.newInstance();
Transformer transformer=factory.newTransformer();
StringWriter writer=new StringWriter(); /*字符输出流*/
transformer.transformer(new DOMSource(document),new StreamResult(writer));//将document中的值转换到输出流中
System.out.println(writer.toString());
File xmlfile=new File("newxml.xml");
transformer.transformer(new DOMSource(document),new StreamResult(xmlfile));//将document中的值写入file文件中,自动完成file文件的实体

java 生成xml文件的更多相关文章

  1. Java生成XML文件

    我们在数据库中的数据可以将其提取出来生成XML文件,方便传输.例如数据库中有Admin这张表: 我们写一个java类表示admin数据: package xmlDom.vo; import java. ...

  2. Java生成XML文件与XML文件的写入

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6651643.html  既然能在代码中解析XML文档获取数据,当然也能通过代码动态生成XML文档了. 与解析X ...

  3. 利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析

    首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...

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

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

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

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

  6. Java中使用DOM4J来生成xml文件和解析xml文件

    一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...

  7. Android 使用xml序列化器生成xml文件

    在<Android 生成xml文件>一文中使用流的形式写入xml格式文件,但是存在一定的问题,那就是在短信内容中不能出现<>之类的括号,本文使用xml序列化器来解决 xml序列 ...

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

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

  9. java 读取XML文件作为配置文件

    首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...

随机推荐

  1. 【loadrunner】【scorm学习】demo/test域上进行scorm脚本录制及回放成功脚本备份

    vuser_init() { //web_set_sockets_option('SSL_VERSION','TLS'); lr_start_transaction("login" ...

  2. Windows7系统运行hadoop报Failed to locate the winutils binary in the hadoop binary path错误

    程序运行的过程中,报Failed to locate the winutils binary in the hadoop binary path  Java.io.IOException: Could ...

  3. Z-score标准化[转载]

    转自:https://blog.csdn.net/Orange_Spotty_Cat/article/details/80312154 1.意义 Z-Score通过(x-μ)/σ将两组或多组数据转化为 ...

  4. PAT 1147 Heaps[难]

    1147 Heaps(30 分) In computer science, a heap is a specialized tree-based data structure that satisfi ...

  5. Ubuntu下virtualenv 的安装及使用

    按照这个命令做下来基本是ok的. https://blog.csdn.net/qq_33371343/article/details/78047853

  6. rest-framework框架的基本组件

    快速实例 Quickstart 大致步骤 (1)创建表,数据迁移 (2)创建表序列化类BookSerializer class BookSerializer(serializers.Hyperlink ...

  7. 4.4 Routing -- Specifying A Route's Model

    一.概述 应用程序中,templates被models支持.但是templates是如何知道它们应该显示哪个model呢? 例如,你有一个photos模板,它是如何知道它该呈现哪个model呢? 这就 ...

  8. android中代码操作外部SD卡出错:W/System.err(1595): Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)

    AndroidManifest.xml 中加上: <uses-permission android:name="android.permission.WRITE_EXTERNAL_ST ...

  9. ac自动机系列

    hdu2222这题说的是在一个1000000的长串中找出n个短串是否在其中出现过 最后输出在长串中出现的个数 #include <iostream> #include <cstdio ...

  10. ng-深度学习-课程笔记-7: 优化算法(Week2)

    1 Mini-batch梯度下降 在做梯度下降的时候,不选取训练集的所有样本计算损失函数,而是切分成很多个相等的部分,每个部分称为一个mini-batch,我们对一个mini-batch的数据计算代价 ...