`

java中写XML[转]

阅读更多

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
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.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

/**
* 功能:
* @author yaos  email: yaos@isoftstone-ai.com
* @date 2008 11 25
*/
public class TestParseDOM {

/**
  * 功能:
  * @param args
  * @throws TransformerException 
  */



public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, TransformerException {
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = dbf.newDocumentBuilder();
  Document doc = db.newDocument();
  
  Element root = doc.createElement("school");
  
  for(int i = 1 ; i <= 3 ; i ++){
   Element grade = doc.createElement("grade");
   grade.setAttribute("level", String.valueOf(i));
   
   for(int j = 1 ; j <= 2 ;  j ++){
    Element classes = doc.createElement("classes");
    classes.setAttribute("name", String.valueOf(j));
    
    Element teacher = doc.createElement("teacher");
    teacher.setTextContent("teacher"+String.valueOf(i+j));
    
    Element monitor = doc.createElement("monitor");
    monitor.setTextContent("stu"+String.valueOf(i+j));
    
    Element number = doc.createElement("number");
    number.setTextContent(String.valueOf(i*j+i*j));
    
    classes.appendChild(teacher);
    classes.appendChild(monitor);
    classes.appendChild(number);
    grade.appendChild(classes);
   }
   root.appendChild(grade);
  }
  doc.appendChild(root);
  
  
  //下面的方法是写xml到.xml的文档
  TransformerFactory tf = TransformerFactory.newInstance();
     Transformer transformer = tf.newTransformer();//此实例可以用于处理来自不同源的 XML,并将转换输出写入各种接收器。
     DOMSource source = new DOMSource(doc);//创建带有 DOM 节点的新输入源
     transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");//设置转换中实际的输出属性
  transformer.setOutputProperty(OutputKeys.INDENT, "yes");//设置转换中实际的输出属性
  PrintWriter pw = new PrintWriter(new FileOutputStream("src/testDOM.xml"));
     StreamResult result = new StreamResult(pw);//从字节流构造 StreamResult 充当转换结果的持有者,可以为 XML、纯文本、HTML 或某些其他格式的标记
     transformer.transform(source, result);//将 XML Source 转换为 Result
  
}

}









运行之后的结果应该是:

<?xml version="1.0" encoding="GB2312"?>
<school>
<grade level="1">
<classes name="1">
<teacher>teacher2</teacher>
<monitor>stu2</monitor>
<number>2</number>
</classes>
<classes name="2">
<teacher>teacher3</teacher>
<monitor>stu3</monitor>
<number>4</number>
</classes>
</grade>
<grade level="2">
<classes name="1">
<teacher>teacher3</teacher>
<monitor>stu3</monitor>
<number>4</number>
</classes>
<classes name="2">
<teacher>teacher4</teacher>
<monitor>stu4</monitor>
<number>8</number>
</classes>
</grade>
<grade level="3">
<classes name="1">
<teacher>teacher4</teacher>
<monitor>stu4</monitor>
<number>6</number>
</classes>
<classes name="2">
<teacher>teacher5</teacher>
<monitor>stu5</monitor>
<number>12</number>
</classes>
</grade>
</school>

分享到:
评论

相关推荐

    xml 转Java bean工具

    标题中的"xml 转Java bean工具"指的就是这样一种工具,它能够帮助开发者快速地将XML数据映射到Java对象上。这类工具通常会分析XML文件的结构,包括元素、属性等,并基于这些信息生成相应的Java Bean类。生成的Java ...

    java list和xml互转例子

    本示例涉及的核心知识点是将Java中的List对象与XML文档进行相互转换。这里,我们使用的库是dom4j-1.6.1.jar,这是一个强大的Java XML处理库。 首先,让我们详细了解一下List和XML。List是Java集合框架的一部分,它...

    java一键xml转map,一键map转xml工具类

    在Java编程中,XML(可扩展标记语言)和Map(映射)是两种常见的数据存储和交换格式。XML因其结构化和易于解析的特性,在数据交换和配置文件中广泛使用,而Map则作为Java中存储键值对的高效数据结构。在实际开发中,...

    java中读写XML文件

    在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和传输结构化数据。XML文件具有自解释性,且独立于任何特定程序或硬件平台,这使得它在不同系统间交换数据时非常有用。本篇...

    JAXB工具类 xml转为java对象 java对象转为xml

    Java Architecture for XML Binding (JAXB) 是Java平台中用于处理XML和Java对象之间转换的一个标准API。它使得在Java应用程序中使用XML数据变得更加方便,无需手动编写大量的转换代码。本教程将详细介绍JAXB如何实现...

    如何在Java中将XML文档转换成HTML文档.pdf

    在实际应用中,常常需要将XML中的数据转换为HTML格式,以便于在网页上直观地展示数据。 ##### Java中XML转HTML技术概述 在Java环境中,实现XML文档向HTML文档转换的技术主要依赖于XSLT(Extensible Stylesheet ...

    java XML转成LIST可以转成指定的类数组

    在Java编程中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它结构清晰、易于阅读,常用于存储和传输数据。当处理XML文件时,有时我们需要将其内容转换为Java对象,如List,以便于操作和处理。本篇...

    Java中写xml文件

    Java 中编写XML文件涉及到的主要技术是Java API for XML Processing(JAXP),这是一个用于XML文档处理的Java编程接口。JAXP提供了对DOM(Document Object Model)、SAX(Simple API for XML)和XSLT(Extensible ...

    任意XML转实体类 实体类 转XML 方法 JAVA

    例如,XML中的`&lt;name&gt;`节点应对应Java Bean中的`private String name;`。 对于XML中的节点属性,它们通常是简单类型如String。在Java中,我们可以在解析XML时读取这些属性,并将其赋值给对应的字段。例如,如果`...

    xml文件自动转成java对象工具

    总之,XML文件自动转成Java对象工具是Java开发中不可或缺的一部分,它极大地简化了XML数据处理,提高了开发效率。通过理解和利用这类工具,开发者可以更专注于业务逻辑,而非基础的数据转换工作。

    XML转换为JAVA对象的方法

    在提供的`AppDemo`文件中,可能包含了一个简单的示例应用,演示了如何在实际项目中使用XStream进行XML和Java对象的转换。通过运行和分析这个例子,你可以更好地理解这一过程,并将其应用到自己的项目中。 总之,...

    java将xml串转换成Map类型

    将xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map

    xml转javaBean,javaBean转xml,xml标签大小写问题,以及对xml特殊符号的处理

    CDATA(Character Data)是XML中的一种特殊语法,用于表示一段纯文本,其中的XML特殊字符(如", "&gt;", "&")不需要转义。在XML中,可以使用`&lt;![CDATA[ ... ]]&gt;`来创建CDATA段。当处理包含大量特殊字符的数据时,使用...

    java中使用xslt转换xml成为另一个xml

    在Java编程环境中,XML(可扩展标记语言)和XSLT(可扩展样式表语言转换)是处理和转换XML文档的常见工具。XSLT是一种专门用于将XML文档转换为其他XML、HTML或文本格式的语言。本文将详细介绍如何在Java中使用XSLT来...

    java json xml转换

    本文将详细探讨Java中JSON与XML的互转,以及如何在实际开发中运用这些技术。 标题:“java json xml转换” 描述:“java版的json与xml之间的转换的实例demo” JSON和XML各有优缺点。JSON以其简洁、易于阅读和生成...

    java xml和map互转

    总结,使用DOM4J库,我们可以方便地在Java中实现XML与Map之间的互转。这不仅适用于简单的键值对,还支持嵌套结构、属性以及有无根节点的情况。在实际项目中,可以根据具体需求对这些方法进行适当的调整和优化。

    Java实现XML文档到word文档转换

    尽管在标记意义上具有一定的灵活性,XML因其强大的可扩展性、与Java的完全兼容性以及良好的移植能力,在网络数据传输和处理中扮演着重要角色。 特别是在现代Web应用系统开发过程中,XML的应用变得越来越普遍。例如...

    java 使用 JAXB 将xml转换为 bean 包含xml和dto和读取文件的util类

    Java中的JAXB(Java Architecture for XML Binding)是一个用于在Java对象和XML文档之间进行映射的标准API。这个技术使得开发者可以方便地将XML数据转换为Java对象,反之亦然。在给定的压缩包文件中,可能包含了实现...

    Java读写xml,word,xml文件(防乱码)

    本文将详细介绍如何使用Java进行XML、Word以及TXT文件的读写操作,并确保在读写过程中不会出现乱码现象。 #### 二、理解文件编码 在深入探讨具体的解决方案之前,我们先来了解一下文件编码的基本概念。文件编码是指...

    Java XML转JSON

    - JSON不支持命名空间,因此XML中的命名空间在转换时会被忽略或特殊处理。 - 转换过程中可能遇到的数据类型不匹配问题,需要根据具体情况进行处理,比如日期、时间戳等。 总结,Java中实现XML到JSON的转换主要...

Global site tag (gtag.js) - Google Analytics