文档章节

JAVA 将xml文件转换成String

小小明童鞋
 小小明童鞋
发布于 2017/02/15 16:29
字数 259
阅读 33
收藏 0

调用webservice方法的时候,参数有时经常是xml文件的字符串形式,简单的拼个字符串还好说,比如:

StringBuilder str = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
		str.append("<REQUEST>");
		str.append("<NAME>").append("echo").append("</NAME>");
		str.append("<AGE>").append("6").append("</AGE>");
		str.append("</REQUEST>");
		System.out.println(str.toString());

但是,对于比较复杂的xml手动拼字符串就太过麻烦了……,所以想办法将xml转化成了字符串,在此记录一下:

import java.io.File;
import java.io.StringWriter;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

private String turnDocumentToString() {
		try {
			// 读取 xml 文件
			File fileinput = new File("E:/test.xml");
			DocumentBuilderFactory dbFactory = DocumentBuilderFactory
					.newInstance();
			DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
			Document doc = dBuilder.parse(fileinput);

			// 方法1:将xml文件转化为String
			// StringWriter sw = new StringWriter();
			// TransformerFactory tf = TransformerFactory.newInstance();
			// Transformer transformer = tf.newTransformer();
			// transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,
			// "no");
			// transformer.setOutputProperty(OutputKeys.METHOD, "xml");
			// transformer.setOutputProperty(OutputKeys.INDENT, "yes");
			// transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
			// transformer.transform(new DOMSource(doc), new StreamResult(sw));

            //方法2:和方法1类似
			DOMSource domSource = new DOMSource(doc);
			StringWriter writer = new StringWriter();
			StreamResult result = new StreamResult(writer);
			TransformerFactory tf = TransformerFactory.newInstance();
			Transformer transformer = tf.newTransformer();
			transformer.transform(domSource, result);

			// 将转换过的xml的String 样式打印到控制台
			System.out.println(writer.toString());
			return writer.toString();
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}

 

© 著作权归作者所有

共有 人打赏支持
小小明童鞋
粉丝 26
博文 76
码字总数 56695
作品 0
南京
程序员
JSON-lib框架,转换JSON、XML不再困难

JSON-lib框架,转换JSON、XML不再困难 Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对...

DavidBao
2015/05/01
0
0
JSON-lib框架,转换JSON、XML

Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。 一、 准备工作 1、 首先要去官方...

五大三粗
2015/11/03
0
0
使用JAXB处理XML文档——先睹为快

JAXB以其方便的XML数据处理能力可能会引起你的兴趣。你可能还不了解JAXB是什么,想要知道它到底有 什么好处,如果这是你需要的,你才会再花时间去细细的研究它,或者你只需要使用最基本的功能...

晨曦之光
2012/03/09
0
0
common digester-入门

Commons-Digester简介 一.历史 Digester本来仅仅是Jakarta Struts中的一个工具,用于处理struts-config.xml配置文件。显然,将XML文件转换成相应的Java对象是一项很通用的功能,这个工具理应...

gzh412163
2014/06/20
0
0
Apache CXF 整合 Map

在进行编码前有必要对一些基本的认识进行介绍,以便后面的讲解。 1、JAXB: JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这...

yaokangjun
2014/08/21
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Memcached启动参数详解

memcached -d -m 1024 -l 192.168.100.101 -p 11211 -P /tmp/memcached.pid -c 1024 -f 1.25 -n 80 -t 16 运行参数描述 -d:以守护(daemon)进程方式启动; -u:是运行Memcache的用户,例如 ......

月下狼
27分钟前
0
0
xgboost-kaggle

https://www.kaggle.com/dansbecker/xgboost This tutorial is part of the Learn Machine Learning series. In this step, you will learn how to build and optimize models with the powe......

tantexian
27分钟前
0
0
nginx学习八 代理服务

最常用的语法 proxy_pass Syntax: proxy_pass URL;Default: --Context:location.if in location,limit_exception 反向代理 例:/etc/nginx/conf.d/default.conf 反向代理(代理服务端)......

Romanceling
35分钟前
0
0
npm ERR! Unexpected end of JSON ...

npm install 报错: npm ERR! Unexpected end of JSON input while parsing near '..."^2.8.14"},"_hasShrin' npm ERR! A complete log of this run can be found in: ... 打开终端 命令: 第......

大_侠
39分钟前
0
0
Android中的设计模式之责任链模式

参考 《设计模式:可复用面向对象软件的基础 》5.1 Chain of responsibility 职责链 对象行为型模式 《Android源码设计模式解析与实战》第9章 使编程更有灵活性--责任链模式 意图 使多个对象...

newtrek
42分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部