`
giraffeql
  • 浏览: 17679 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XML文件生成

阅读更多
// 主要的包
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;

import org.xml.sax.helpers.AttributesImpl;

// 大体思路

// 通过工厂创建实体
SAXTransformerFactory fac = (SAXTransformerFactory) SAXTransformerFactory
		.newInstance();
TransformerHandler handler = null;
OutputStream outStream = null;

try {
	handler = fac.newTransformerHandler();
	// 输出文件参数设置
	Transformer tf = handler.getTransformer();
	tf.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); // 编码格式
	tf.setOutputProperty(OutputKeys.INDENT, "yes"); // 是否自动缩进
	tf.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); // 是否忽略xml声明
	
	File file = new File("E:\\path\\file.xml");// 注意:文件会自动创建,但文件路径(E:\\path)需存在,否则报异常
	outStream = new FileOutputStream(file);
	Result rsxml = new StreamResult(outStream);// 注意:创建流的构造函数可以指定File文件 也可指定为String路径,
					// 但指定为包含中文的路径可能会出现"java.net.MalformedURLException: unknown protocol: e"的异常
	
	handler.setResult(rsxml);
	
	// 文档开始
	handler.startDocument();
	
	// 创建xml节点属性对象
	AttributesImpl atts = new AttributesImpl();
	handler.startElement("", "", "Events", atts); // 开始Events节点
	
	// 创建新的节点属性对象
	atts = new AttributesImpl();
	// 为节点元素添加属性
	// atts.addAttribute(String uri, String localName, String qName, String type, String value) 
	// 通常我们只需设置 属性名称qName(第三个参数)和属性值value(第五个参数)
	atts.addAttribute("", "", "AttributeName1", "", "AttributeValue1");
	atts.addAttribute("", "", "AttributeName2", "", "AttributeValue2");
	
	// 写入节点
	// handler.startElement(String uri, String localName, String qName, Attributes attributes)
	// 通常我们只需设置节点名称qName(第三个参数)和属性对象attributes(第四个参数)
	handler.startElement("", "", "Event", atts);// 开始Event节点,并且附加属性atts
	handler.endElement("", "", "Event"); // 结束Event节点
	
	// todo
	
	handler.endElement("", "", "Events"); // 结束Events节点
	// 文档结束
	handler.endDocument();
	
} catch (TransformerConfigurationException e) {
	e.printStackTrace();
} catch (FileNotFoundException e) {
	e.printStackTrace();
} catch (SAXException e) {
	e.printStackTrace();
} finally {
	if (outStream != null)
		try {
			outStream.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
}
分享到:
评论

相关推荐

    xml文件生成器,双击即可在目的地生成xml文件

    描述中提到该生成器“双击即可在目的地生成xml文件”,这意味着它可能是一个独立的应用程序,具有简单的操作方式:用户只需指定生成文件的目标位置,然后通过双击执行程序来触发XML文件的创建。此外,由于程序引用了...

    自动生成XML文件列表工具

    这个“自动生成XML文件列表工具”就是针对特定需求设计的,它能够快速地将指定目录下的所有文件信息整理并生成一个XML文件。这样的工具在软件更新、版本控制、数据备份等场景中十分有用,因为它提供了标准格式化的...

    Xml文件自动生成C# Class类

    在我们的案例中,我们将反向操作,即从XML文档生成类。这通常通过以下步骤实现: 1. **分析XML结构**:首先,我们需要解析XML文件,理解其节点结构和属性。这可以通过使用`System.Xml.Linq`库中的`XDocument`或`Xml...

    xml文件生成类XmlTextWriter的使用

    xml文件生成类XmlTextWriter的使用: <?xml version="1.0" encoding="gb2312"?> <TestID>201603150001 爵士乐 <Name>Cecil Taylor 女 <BirthDate>1988/10/7 <IdNumber>11233219990909999X <Nation></...

    mybatis mapper 和xml文件生成

    本篇文章将深入探讨MyBatis的Mapper和XML文件生成,以及如何使用`mybatis-generator-core-1.3.2`工具进行自动化生成。 首先,让我们理解Mapper接口。Mapper接口是MyBatis中的一个关键概念,它允许开发者定义数据库...

    发票导入XML文件生成工具V2.0

    发票导入XML文件生成工具V2.0,EXCEL开发的,VBA有密码,有大神可以下载破解一下

    xml文档生成小工具

    这个“xml文档生成小工具”是专为简化XML文档创建而设计的,它提供了源码,不仅可以直接运行,还可以作为学习XML生成技术的参考。 XML的基本结构包括元素(Element)、属性(Attribute)、文本内容(Text Content)...

    xml文档生成代码

    根据提供的文件信息,本文将详细解析“XML文档生成代码”的知识点。主要分为以下几个部分: ### 一、XML文档概述 XML(eXtensible Markup Language)是一种标记语言,旨在存储和传输数据。它允许开发者定义自己的...

    generator-mybatis接口类、实体类、xml文件生成工具

    例如,可以通过调整模板来添加自定义注解,实现如Swagger的API文档生成,或者根据项目规范调整字段命名规则。 总的来说,generator-mybatis是Java开发中提升效率的一个利器,尤其对于大型项目,它可以显著减少基础...

    android 解析XML文件 生成XML文件

    本文将深入探讨如何使用SAX、DOM和Pull解析器解析XML文件,以及如何生成XML文件。我们将同时展示Java和Kotlin两种语言的实现方法。 一、SAX解析XML文件 SAX(Simple API for XML)是一种事件驱动的解析器,它不会一...

    生成XML文件ABAP程序

    根据提供的ABAP程序片段,...通过创建IXML工厂、构建DOM对象模型、设置属性和值、渲染以及保存文档,最终实现了生成并保存XML文件的目标。这种方法不仅适用于简单的XML文档,也可以扩展到更复杂的XML结构和数据类型。

    一个非常好用的 XML 文件生成类(C# )

    在C#编程中,处理XML文件是常见的任务,包括创建、读取、修改和解析XML文档。本篇文章将详细探讨一个高效的C# XML文件生成类,名为`XmlHelper`。 `XmlHelper.cs` 文件包含了一个自定义的类,该类提供了简洁且强大的...

    xml文件生成工具类(含jdom.jar)

    在XML文件生成过程中,JDOM提供了创建、修改和读取XML文档的强大功能。首先,我们需要导入`jdom.jar`库到我们的项目中,这个库包含了所有与JDOM相关的类和方法。 以下是一个简单的示例,展示如何使用JDOM创建一个...

    java 读取xml文件生成树形图

    在Java编程中,读取XML文件并将其转换为树形结构是一种常见的操作,尤其是在处理配置文件、数据交换或解析XML文档时。以下是一篇详细解释如何实现这一过程的文章。 首先,我们需要了解XML(eXtensible Markup ...

    xml文件生成

    本文将深入探讨XML文件的生成过程,包括基本概念、结构、生成方法以及相关的工具。 XML的基本概念: 1. **标记语言**:XML是一种自定义的、可扩展的标记语言,与HTML类似但更为灵活。它允许用户根据需要定义自己的...

    xml文件的生成

    ### XML文件生成与操作知识点详解 #### 一、XML文件生成概述 XML(Extensible Markup Language,可扩展标记语言)是一种用于标记数据的语言,它允许我们定义自己的标签,因此非常适合于存储和传输结构化数据。生成...

    java读取xml文件生成文件

    Java语言在处理XML文件时,提供了丰富的API和库,使得我们可以轻松地读取、解析、修改和生成XML文档。在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明...

    mfc通过xml文件生成word文档

    在本文中,我们将深入探讨如何使用C++和MFC(Microsoft Foundation Classes)框架来通过XML文件生成Word文档。首先,我们需要理解MFC是微软提供的一个C++库,它为Windows应用程序开发提供了一套丰富的类,使得我们...

    XML文档数据生成器V1.0版

    XML文档数据生成器V1.0版是一款专门针对XML文件制作的工具,它能帮助用户快速、高效地生成XML结构化数据,极大地简化了XML文档的创建过程。 XML的基本结构主要包括元素(Element)、属性(Attribute)、文本内容...

    XSD根据xml生成schema文件

    本篇文章将深入探讨如何根据XML文件生成对应的XSD schema文件,以便更好地管理和验证XML文档。 首先,我们需要理解XSD的作用。XSD文件定义了一系列规则,这些规则描述了XML文档应该包含哪些元素、属性,以及它们...

Global site tag (gtag.js) - Google Analytics