`
sunnidy
  • 浏览: 55859 次
  • 性别: Icon_minigender_1
  • 来自: 常德
文章分类
社区版块
存档分类
最新评论

java写XML数据

阅读更多

源文件src

 

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>

分享到:
评论

相关推荐

    Java与XML数据绑定

    Java与XML数据绑定是将Java对象与XML文档之间的映射关系进行自动化处理的一种技术,它极大地简化了在Java应用中处理XML数据的工作流程。在Java世界中,JAXB(Java Architecture for XML Binding)是Java EE平台的一...

    JAVA和XML数据绑定 经典PDF

    Java和XML数据绑定是将XML文档中的数据与Java对象模型之间建立映射关系的技术,使得开发者可以方便地在XML和Java对象之间进行数据交换。这项技术对于处理XML数据的Java应用来说至关重要,尤其是在Web服务、配置文件...

    java读取XMl数据

    Java语言在处理XML数据时提供了丰富的API,这些API主要集中在`javax.xml`和`org.w3c.dom`等包中。XML(eXtensible Markup Language)是一种结构化数据存储格式,广泛应用于配置文件、数据交换和Web服务等领域。本文...

    Java读写xml java 读写xml文件操作, 简单易懂

    之后,可以通过遍历`Document`对象中的节点来读取XML数据。 具体步骤如下: 1. 创建`DocumentBuilderFactory`实例。 2. 使用`DocumentBuilderFactory`实例创建`DocumentBuilder`对象。 3. 使用`DocumentBuilder`...

    java http 发送xml报文(java发送xml报文实例+参数)

    XML(eXtensible Markup Language)则是一种结构化数据格式,广泛应用于数据交换、配置文件等场景。本篇文章将深入探讨如何在Java中利用HTTP协议发送XML报文,并通过实例和参数解析具体实现步骤。 首先,我们需要...

    Java and XML(英文第三版)_java_xml_birdsolc_源码

    6. **XSLT(XSL Transformations)**:XSLT用于将XML文档转换为其他XML文档,或者HTML、文本等格式,实现XML数据的样式化显示。 7. **SOAP(Simple Object Access Protocol)**:SOAP是基于XML的网络协议,常用于...

    java 解析xml 多级

    Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...

    java写XML文件和读取XML文件

    一、Java写XML文件 1. 使用DOM(Document Object Model)API: DOM是W3C推荐的一种处理XML的标准API,它将整个XML文档加载到内存中,形成一个树形结构。通过DOM,可以方便地创建、修改和遍历XML文档。 示例代码: ...

    java中读写XML文件

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

    Java 读写XML总结

    Java XML处理是软件开发中的重要一环,XML(Extensible Markup Language)作为一种可扩展标记语言,常用于数据交换、配置存储等场景。本篇将详细总结在Java中如何读取和写入XML文件,以及相关的工具和技术。 首先,...

    Java与XML读写之DOM篇

    DOM(Document Object Model)是一种在Java中处理XML的标准方法,它将XML文档转换为一棵对象树,使得我们可以方便地访问和修改XML数据。下面将详细阐述DOM模型、解析过程以及如何在Java中使用DOM进行XML读写。 DOM...

    java解析xml字符串

    在IT领域,特别是Java开发中,处理XML数据是一项常见的任务。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它具有良好的结构化特性,使得数据在不同系统之间交换变得容易。Java提供了多种库来解析和...

    java xml拼接

    在Java编程环境中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它具有良好的结构化和可读性,广泛应用于数据存储、配置文件、Web服务等场景。当需要与数据库交互并生成XML文件时,Java JDBC(Java...

    用java编写的从数据库和XML中读写数据的应用程序

    本应用程序的主题聚焦于使用Java来处理数据,包括从数据库和XML文件中读取以及写入数据。这两种数据存储方式在现代软件系统中扮演着至关重要的角色。 首先,让我们深入了解一下数据库操作。Java通过JDBC(Java ...

    Java and XML, 3rd Edition

    书中的主题如下: *XML基础,包括DTD、命名空间(namespace)、XML Schema和数据格式转换 (Transformation) *SAX应用程序编程接口,包括处理器接口、过滤器接口和写出接口 *DOM应用程序编程接口,...

    xml.rar_java xml_java读写xml

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在数据交换、配置存储以及文档结构化描述等场景。本教程将详细讲解如何在Java环境中处理XML文件,包括读取和写入XML的基本操作。 一、XML简介...

Global site tag (gtag.js) - Google Analytics