private String writeXML(String url) {
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance(); //创建DocumentBuilderFactory工厂实例。
DocumentBuilder dBuilder;
try {
dBuilder = dbfactory.newDocumentBuilder(); //通过文档创建工厂创建文档创建器,
Document doc = dBuilder.newDocument(); //并通过文档创建器创建一个新的文档对象。
Element root = doc.createElement("records");//建立根节点
//将根结点添加到文档中
doc.appendChild(root);
//设置配置数据最后的更新时间
Element sendTimeEmt = doc.createElement("xxx");
sendTimeEmt.appendChild(doc.createTextNode("xxx"));
root.appendChild(sendTimeEmt);
//设置xml文件的下发节点ip
Element nodeIPEmt = doc.createElement("xxx");
nodeIPEmt.appendChild(doc.createTextNode("xxx"));
root.appendChild(nodeIPEmt);
//遍历当前数据表中的记录,生成xml文件
if(dataList != null && dataList.size()>0) {
for(Object obj:dataList) {
Element recordEmt = doc.createElement("record");
Class c = null;
//根据POJO类型,得到对应的key 与value
if(tableName != null && tableName.equals("demo")){
c = demo.class;
}
if(colum != null && colum.size() > 0) {
for(String key : colum){
Method getterMethod = null;
//得到对象的get方法
String firstChar = key.substring(0,1);
firstChar = firstChar.toUpperCase();
String otherChar = key.substring(1);
String methodKey = "get"+firstChar+otherChar;
try {
getterMethod = c.getDeclaredMethod(methodKey);
} catch (SecurityException e1) {
e1.printStackTrace();
} catch (NoSuchMethodException e1) {
e1.printStackTrace();
}
String value = "";
try {
if(getterMethod!=null){
Object objectValue = getterMethod.invoke(obj);
if(objectValue != null)
value = objectValue.toString();
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
Element keyEmt = doc.createElement(key);
keyEmt.appendChild(doc.createTextNode(value));
recordEmt.appendChild(keyEmt);
}
}
root.appendChild(recordEmt);
}
}
docToXML(doc, url);
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
return url;
}
/**
* 将DOM树对象转换为可以写入本地的XML文档对象
* @param doc 需要转换的DOM对象
* @param filePath 转换后的XML文档存放的路径
* @return 写入成功返回true,转换过程中出现异常返回false
*/
private void docToXML(Document doc,String filePath){
//把XML文档输出到指定的文件
try {
TransformerFactory tFactory = TransformerFactory.newInstance();//创建转换器工厂实例
Transformer tFormer= tFactory.newTransformer();//创建转换器
DOMSource dSource = new DOMSource(doc);//创建DOM输入源
StreamResult sResult = new StreamResult(new File(filePath));// 创建输出流
//设置写入XML文件的编码、空白符和版本
tFormer.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
tFormer.setOutputProperty(OutputKeys.INDENT, "yes");
tFormer.setOutputProperty(OutputKeys.VERSION, "1.0");
tFormer.transform(dSource, sResult); // 将内存中的XML文档转换输出到本地
} catch (TransformerConfigurationException e) {
e.printStackTrace();
}catch (TransformerException e) {
e.printStackTrace();
}
}
- 浏览: 73186 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (108)
- 数据库 (6)
- web前端 (13)
- java基础 (29)
- XML (3)
- CSS (1)
- JQuery (2)
- 杂谈 (1)
- struts2 (1)
- 配置 (2)
- 系统 (1)
- javaScript (1)
- tomcat (2)
- maven (5)
- jxl (1)
- spring (6)
- JAX-RS (2)
- servlet-api (1)
- js (1)
- itext (1)
- 面试 (4)
- java自定义注解 (1)
- jsp (3)
- linux (4)
- eclipse (1)
- ftp (1)
- 受益匪浅 (5)
- redis (5)
- java优化 (1)
- protobuf (1)
- virtualbox (1)
- 操作系统 (1)
- 异常 (1)
最新评论
发表评论
-
java try catch finally 语句中return执行情况
2015-04-17 11:43 414对于含有return语句的情况,这里我们可以简单地总结如下: ... -
Java 接口(interface)的用途和好处
2014-11-17 16:02 1350http://write.blog.csdn.net/pos ... -
java 中getDeclaredFields() 与getFields() 的区别
2014-10-28 16:51 806java 中getDeclaredFields() 与get ... -
Java程序执行Linux命令
2014-09-10 10:59 1140java程序中要执行linux命 ... -
java实现http下载
2014-08-22 17:01 386/** * 通过http下载文件 * @para ... -
Java线程(四):线程中断、线程让步、线程睡眠、线程合并
2014-08-19 14:21 726本文来自:高爽|Coder,原文地址:http://b ... -
JAVA反射与注解实例
2014-08-18 14:01 377JAVA反射与注解实例 1 JAVA反射机制 JA ... -
Java中hashcode的理解
2014-08-05 15:38 524转:http://blog.csdn.net/chi ... -
java判断是否是exe文件
2014-07-15 13:23 968public static int myReadFileI ... -
java常用设计模式
2014-07-11 14:00 449设计模式;一个程序 ... -
Java里Stream (byte 流)的主要类
2014-07-04 11:35 551Java里Stream (byte 流)的主要类 2 ... -
Java Reflection(反射机制)
2014-07-04 09:57 334Java 反射机制 反射机制简介 反射机制应用示例 ... -
java中的一些基础知识实例
2014-07-03 17:41 3571> java中验证ip的格式 Pa ... -
java split分解特殊字符 | .
2014-06-12 14:45 3741、如果用“.”作为分隔的话,必须是如下写法:String. ... -
java 多线程例子
2014-06-12 14:15 533转:http://blog.csdn.net/ocean20 ... -
Java 内部类
2014-05-29 11:57 403Java 内部类 分四种: ... -
运行时异常与一般异常有何异同
2014-05-29 11:40 352Throwable 是所有 Java 程序中错误处理的父 ... -
java调用打印机
2014-05-20 15:21 932/** * 打印(rt.jar javax ... -
java操作ini文件
2014-04-01 14:32 824package netutel.service;import ... -
java io 多种文件操作方式(字节、字符、行、随机)
2013-07-09 09:20 781一、多种方式读文件内容。【参考:http://www.ibm ...
相关推荐
总结起来,Java通过模板生成XML并发送报文涉及XML文档对象的创建、元素的构建、模板引擎的应用以及HTTP请求的发送。理解这些概念并熟练掌握相关API,能帮助开发者在实际工作中高效地处理XML数据的生成与传输。
这篇博客文章“根据XML Schema生成XML”探讨了如何使用XML Schema来创建符合规范的XML文档。 首先,理解XML Schema的基本元素是关键。XML Schema定义了一系列的元素(element)、属性(attribute)和数据类型(data...
本话题主要关注如何根据XML模板自动生成XML文件,这通常涉及到数据库操作、数据处理以及XML文件的构建过程。下面我们将深入探讨这个主题。 首先,XML模板是一个预定义的结构,它包含了所需生成XML文件的基本框架,...
根据提供的ABAP程序片段,我们可以总结出以下关于生成XML文件的相关知识点: ### 1. ABAP中的IXML库介绍 ABAP(Advanced Business Application Programming)是SAP系统中广泛使用的一种编程语言。在处理XML数据时...
首先,需要创建一个 MemoryStream 对象,用于存储生成的 XML 数据。然后,创建一个 StreamWriter 对象,指定其编码为 UTF-8,并将其关联到 MemoryStream 对象上。接着,使用 XmlSerializer 对象将对象 serialize 到 ...
在C#中,生成XML文档的第一步是创建一个`XmlDocument`对象。这个对象充当了整个XML文档的容器,所有的节点(包括元素、属性、注释等)都将被添加到这个容器中。例如,在给定的代码片段中,首先实例化了一个`Xml...
### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库...
LABVIEW创建XML格式文件
4. **生成XML**:当所有输入都通过验证后,编辑器将这些数据转化为符合XSD结构的XML元素和属性,形成完整的XML文档。 除了IETM系统,这种根据XSD创建XML的方法也广泛应用于其他场景,如数据交换、Web服务、配置文件...
这些选项对于直接生成XML文档到浏览器时特别有用。 - **asynch**:设置为False以防止异步下载。 - **PreserveWhiteSpace**:设置为True以保留空白字符。 - **ResolveExternals**:设置为False以避免解析外部实体、...
SQL Server作为一款广泛应用的关系型数据库管理系统,提供了丰富的功能,其中之一就是能够生成XML格式的数据,这在数据迁移、报表生成、Web服务等场景中非常实用。本篇文章将详细介绍如何在VB(Visual Basic)环境中...
标题中的“动态生成XML文件”指的是在程序运行过程中,根据特定的数据或逻辑生成XML文档的过程。这通常用于数据交换、配置文件存储或者报告生成等场景。在这个案例中,描述指出生成XML是基于数据库中表的结构,这...
本篇文章将详细探讨如何在C#中动态生成XML文件,包括创建XML元素、添加属性、设置参数等关键步骤。 首先,我们需要引入System.Xml命名空间,它是C#处理XML的基础。在代码开头加入以下语句: ```csharp using ...
本篇文章将详细介绍如何使用C++生成XML文件,主要参考的代码示例来自压缩包中的`generate_xml.cpp`。 首先,我们引入一个常用的C++ XML库——TinyXML。TinyXML是一个轻量级的库,它提供了解析和操作XML文件的功能。...
这个示例是关于如何使用Freemarker来生成XML文件,对于初学者来说,理解这个过程有助于掌握Freemarker的基本用法和XML的生成技巧。 在Java中,Freemarker与数据模型结合,通过模板文件生成输出。对于XML生成,首先...
生成xml格式字符串、序列化XML 对象=》XML文本、反序列化 XML文本=》对象 等方法,对象和xml之间的相互转换、datatable方式转换为xml文本的工具类方法 C#语言
本篇主要介绍如何通过Java编程语言生成XML文档,结合“XML项目开发中用到的”这一标签,我们将深入探讨Java API中的DOM、SAX和StAX三种解析器,以及它们在创建XML文件时的应用。 1. DOM(Document Object Model)...
在Java编程中,生成XML文档是一项常见的任务,特别是在构建配置文件、数据交换或者保存结构化信息时。XML(eXtensible Markup Language)是一种标记语言,它的结构清晰、可读性强,非常适合用来存储和传输数据。...
Java生成XML是Java编程中常见的任务,特别是在处理数据序列化或与外部系统交换结构化信息时。本教程将深入探讨如何使用JDOM库在Java中生成XML文档,并且重点介绍如何处理中文字符。 JDOM(Java Document Object ...
MySQL数据库自动生成XML文件是一项实用的技术,它可以帮助开发者快速地将数据库中的数据转换为XML格式,便于数据交换、存储或进一步处理。这项技术通常结合代码生成工具,如MyBatis的Generator,能够自动化生成DAO...