`
带刺的小花
  • 浏览: 3015 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

格式化xml字符串,并生成xml文件

阅读更多
    最近一段时间都在研究如何生成格式化的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文件了。
具体代码,我已近上传。
分享到:
评论

相关推荐

    C# 方式生成xml格式字符串

    生成xml格式字符串、序列化XML 对象=》XML文本、反序列化 XML文本=》对象 等方法,对象和xml之间的相互转换、datatable方式转换为xml文本的工具类方法 C#语言

    Java格式化Xml文件

    因此,Java中提供了一些工具和方法来格式化XML文件,使其更易于理解和处理。本文将深入探讨如何使用Java来格式化XML文件。 首先,我们需要了解Java中处理XML的基本库——`javax.xml.transform`和`javax.xml.parsers...

    delphi格式化xml文件demo

    本文将深入探讨如何在Delphi XE7中格式化XML文件,通过提供的"delphi格式化xml文件demo"进行示例说明。 首先,让我们了解XML的基本概念。XML是一种标记语言,其主要目的是为了传输和存储数据,而不是显示数据。它的...

    实体类生成XML格式字符串

    这段代码会生成一个XML字符串,内容类似于: ```xml 张三 <age>30 北京 北京市 ``` 注意,JAXB默认不会生成XML声明(如`<?xml version="1.0" encoding="UTF-8"?>`),如果需要,可以设置Marshaller的...

    字符串转化为XML文件

    在本例中,SaveMesToXML方法用于将生成的字符串保存为XML文件。 SaveMesToXML方法首先将字符串加载到XmlDocument对象中,然后将XmlDocument对象保存到文件中。SaveMesToXML方法返回保存的文件名。 其他知识点 * ...

    java解析xml字符串

    1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这是为了将字符串转换为可以被SAXBuilder读取的形式。接着,使用`InputSource`封装`StringReader`,以便SAXBuilder能够正确识别并解析XML数据。 2...

    将string类型xml字符串转为json字符串

    总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...

    Android 对 strings.xml 的字符串进行格式化

    这里`getString(R.string.my_text)`获取到了`strings.xml`中定义的字符串资源,然后使用`String.format()`方法对其中的占位符进行了替换,最终得到格式化的字符串。 ### 三、进阶技巧与注意事项 #### 3.1 多个占位...

    PB解析XML字符串 把XML 变为数据窗口

    标题中的“PB解析XML字符串 把XML 变为数据窗口”指的是使用PowerBuilder(PB)这一编程工具,处理XML格式的数据,并将其转换成数据窗口对象的过程。数据窗口是PowerBuilder中的一个核心组件,用于显示、编辑和管理...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    本篇文章将详细介绍如何将Map和List集合转换为XML字符串,以及如何将XML字符串反向转换回Map和List集合。 首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java ...

    xml格式的字符串转换成List

    要将这样的XML字符串转换为List,我们需要解析XML并将其转化为相应的Java或C#对象。这个过程通常分为以下几个步骤: 1. **解析XML**:可以使用内置库或第三方库来解析XML字符串。在Java中,可以使用DOM(Document ...

    DOM、SAX、DOM4J、JDOM、StAX生成XML并返回XML字符串形式

    下面将详细介绍这些解析器的工作原理以及它们在生成XML并返回XML字符串形式时的应用。 1. DOM (Document Object Model) DOM是一种基于树形结构的XML解析模型,它将整个XML文档加载到内存中,形成一个完整的文档对象...

    Javascript格式化并高亮xml字符串的方法及注意事项

    在JavaScript中,处理XML数据时,我们经常需要将XML字符串格式化并高亮显示,以增强可读性。本文将详细介绍如何使用DOMParser解析XML字符串,并递归遍历XML树来实现这一目标。 首先,XML(Extensible Markup ...

    EMeditor使用JSEE一键格式化XML Format

    EMeditor使用JSEE格式化XML Format 一键格式化 使用方法: 1. 选择要format的文件,文件内容全选 2. 菜单【选择】,选择jsee文件 3.完成

    将对象(java bean)转换为xml字符串

    在Java开发中,有时我们需要将Java Bean对象转换成XML字符串,以便于数据交换或存储。XStream库就是这样一个工具,它提供了一种简单且高效的方式来实现这个目标。XStream不仅能够将Java对象转换为XML,还可以反向将...

    C# 生成xml文件,编码为utf-8方法

    在 C# 中,生成 XML 文件可以使用 XmlSerializer 类,该类提供了 serialize 方法,可以将对象转换为 XML 字符串。为了将生成的 XML 文件编码为 UTF-8,需要使用 MemoryStream 和 StreamWriter 类。 首先,需要创建...

    如何将xml的String字符串转化标准格式的String字符串(jdom)

    然后,我们使用`XMLOutputter`将解析后的`Document`对象格式化输出为标准的XML字符串,`Format.getPrettyFormat()`使得输出的XML具有良好的可读性,包括缩进和换行。 需要注意的是,这个方法可能会抛出异常,如`...

    字符串转换成XML格式工具XmlNotepad-v2.5.rar

    为了解决这一问题,我们引入了一款高效的工具——XmlNotepad v2.5,它能快速将大数据量的字符串转换成XML格式,大大提升了工作效率。 XmlNotepad是由Microsoft开发的一款轻量级的XML编辑器,它具有直观的用户界面和...

    Json和Xml离线格式化工具

    "Json和Xml离线格式化工具"是针对这两种格式的解析和美化工具,可以在没有网络连接的情况下对JSON和XML数据进行格式化,使得数据更易于阅读和理解。 JSON格式化工具通常包含以下功能: 1. **代码高亮**:为键值对和...

Global site tag (gtag.js) - Google Analytics