最近一段时间都在研究如何生成格式化的xml文件,查了好多资料,现在总结一下,希望对大家有帮助。
下面是格式化xml字符串工具类
前提是已经生成了xml字符串
package util;
import java.io.StringReader;
import java.io.StringWriter;
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class XMLFormatUtil {
public String formatXML(String str) throws Exception {
SAXReader reader=new SAXReader();
//创建一个串的字符输入流
StringReader in=new StringReader(str);
Document doc=reader.read(in);
// 创建输出格式
OutputFormat formater=OutputFormat.createPrettyPrint();
//去掉xml文件的版本信息
[color=red]formater.setSuppressDeclaration(true);[/color]
//设置xml的输出编码
formater.setEncoding("UTF-8");
//创建输出(目标)
StringWriter out=new StringWriter();
//创建输出流
XMLWriter writer=new XMLWriter(out,formater);
//输出格式化的串到目标中,执行后。格式化后的串保存在out中。
writer.write(doc);
writer.close();
// System.out.println(out.toString());
//返回我们格式化后的结果
return out.toString();
}
}
尤其要注意的,有些因为项目的要求要去掉xml文件的版本信息。
可以修改属性:
//去掉xml文件的版本信息
formater.setSuppressDeclaration(true);
上面返回的字符串,在调用下面类里面的方法,就能在项目指定的文件下生成
xml文件
package util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.dom4j.io.XMLWriter;
public class XMLFileUtil {
/**
* 将已经格式化的xml字符串写入xml文件
* @param xmlStr
* @return
*/
public boolean createXMLFile(String xmlStr,String xmlName){
boolean flag = false;
try {
XMLWriter output = null;
//OutputFormat format = OutputFormat.createPrettyPrint();
//format.setSuppressDeclaration(true);
// format.setEncoding("UTF-8");
//如果上面设置的xml编码类型为GBK,则应当用FileWriter来构建xml文件,否则会出现中文连码问题
/*outpt = new XMLWriter(
new FileWriter(
new File("D:/myeclipse/Workspaces/fusionChartsDemoTest/WebRoot/xml/"+xmlName+".xml")) ,
format);
*/
//如果上面设置的xml编码类型为utf-8,则应当用FileOutputStream来构建xml文件,否则还是会出现问题
output = new XMLWriter(
new FileOutputStream(
new File("D:/myeclipse/Workspaces/fusionChartsDemoTest/WebRoot/xml/"+xmlName+".xml")));
output.setEscapeText(false);
output.write( xmlStr );
output.close();
return flag = true;
} catch (IOException e) {
e.printStackTrace();
return flag;
}
}
}
注意,里面有注释过的地方,供以后参考。
到这里就生成了格式化的xml文件了。
具体代码,我已近上传。
分享到:
相关推荐
生成xml格式字符串、序列化XML 对象=》XML文本、反序列化 XML文本=》对象 等方法,对象和xml之间的相互转换、datatable方式转换为xml文本的工具类方法 C#语言
因此,Java中提供了一些工具和方法来格式化XML文件,使其更易于理解和处理。本文将深入探讨如何使用Java来格式化XML文件。 首先,我们需要了解Java中处理XML的基本库——`javax.xml.transform`和`javax.xml.parsers...
本文将深入探讨如何在Delphi XE7中格式化XML文件,通过提供的"delphi格式化xml文件demo"进行示例说明。 首先,让我们了解XML的基本概念。XML是一种标记语言,其主要目的是为了传输和存储数据,而不是显示数据。它的...
这段代码会生成一个XML字符串,内容类似于: ```xml 张三 <age>30 北京 北京市 ``` 注意,JAXB默认不会生成XML声明(如`<?xml version="1.0" encoding="UTF-8"?>`),如果需要,可以设置Marshaller的...
在本例中,SaveMesToXML方法用于将生成的字符串保存为XML文件。 SaveMesToXML方法首先将字符串加载到XmlDocument对象中,然后将XmlDocument对象保存到文件中。SaveMesToXML方法返回保存的文件名。 其他知识点 * ...
1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这是为了将字符串转换为可以被SAXBuilder读取的形式。接着,使用`InputSource`封装`StringReader`,以便SAXBuilder能够正确识别并解析XML数据。 2...
总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...
这里`getString(R.string.my_text)`获取到了`strings.xml`中定义的字符串资源,然后使用`String.format()`方法对其中的占位符进行了替换,最终得到格式化的字符串。 ### 三、进阶技巧与注意事项 #### 3.1 多个占位...
标题中的“PB解析XML字符串 把XML 变为数据窗口”指的是使用PowerBuilder(PB)这一编程工具,处理XML格式的数据,并将其转换成数据窗口对象的过程。数据窗口是PowerBuilder中的一个核心组件,用于显示、编辑和管理...
本篇文章将详细介绍如何将Map和List集合转换为XML字符串,以及如何将XML字符串反向转换回Map和List集合。 首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java ...
要将这样的XML字符串转换为List,我们需要解析XML并将其转化为相应的Java或C#对象。这个过程通常分为以下几个步骤: 1. **解析XML**:可以使用内置库或第三方库来解析XML字符串。在Java中,可以使用DOM(Document ...
下面将详细介绍这些解析器的工作原理以及它们在生成XML并返回XML字符串形式时的应用。 1. DOM (Document Object Model) DOM是一种基于树形结构的XML解析模型,它将整个XML文档加载到内存中,形成一个完整的文档对象...
在JavaScript中,处理XML数据时,我们经常需要将XML字符串格式化并高亮显示,以增强可读性。本文将详细介绍如何使用DOMParser解析XML字符串,并递归遍历XML树来实现这一目标。 首先,XML(Extensible Markup ...
EMeditor使用JSEE格式化XML Format 一键格式化 使用方法: 1. 选择要format的文件,文件内容全选 2. 菜单【选择】,选择jsee文件 3.完成
在Java开发中,有时我们需要将Java Bean对象转换成XML字符串,以便于数据交换或存储。XStream库就是这样一个工具,它提供了一种简单且高效的方式来实现这个目标。XStream不仅能够将Java对象转换为XML,还可以反向将...
在 C# 中,生成 XML 文件可以使用 XmlSerializer 类,该类提供了 serialize 方法,可以将对象转换为 XML 字符串。为了将生成的 XML 文件编码为 UTF-8,需要使用 MemoryStream 和 StreamWriter 类。 首先,需要创建...
然后,我们使用`XMLOutputter`将解析后的`Document`对象格式化输出为标准的XML字符串,`Format.getPrettyFormat()`使得输出的XML具有良好的可读性,包括缩进和换行。 需要注意的是,这个方法可能会抛出异常,如`...
为了解决这一问题,我们引入了一款高效的工具——XmlNotepad v2.5,它能快速将大数据量的字符串转换成XML格式,大大提升了工作效率。 XmlNotepad是由Microsoft开发的一款轻量级的XML编辑器,它具有直观的用户界面和...
"Json和Xml离线格式化工具"是针对这两种格式的解析和美化工具,可以在没有网络连接的情况下对JSON和XML数据进行格式化,使得数据更易于阅读和理解。 JSON格式化工具通常包含以下功能: 1. **代码高亮**:为键值对和...