相关文章推荐
狂野的投影仪  ·  将文本分析为 JSON 或 XML - ...·  6 小时前    · 
玩命的火车  ·  容器高度不定,超出高度出现滚动条_y方向滚动 ...·  8 月前    · 
大力的西瓜  ·  Laravels实现高性能HTTP服务器-腾 ...·  1 年前    · 
坐怀不乱的铅笔  ·  Server-sent events ...·  2 年前    · 
闷骚的山楂  ·  python os.makedirs ...·  2 年前    · 
Code  ›  JAVA 将xml文件转换成String开发者社区
string xml语言
https://cloud.tencent.com/developer/article/1147421
多情的莴苣
1 年前
作者头像
小小明童鞋
0 篇文章

JAVA 将xml文件转换成String

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > java系列博客 > JAVA 将xml文件转换成String

JAVA 将xml文件转换成String

作者头像
小小明童鞋
发布 于 2018-06-13 16:21:14
7.1K 1
发布 于 2018-06-13 16:21:14
举报

调用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 样式打印到控制台
 
推荐文章
狂野的投影仪  ·  将文本分析为 JSON 或 XML - Power Query | Microsoft Learn
6 小时前
玩命的火车  ·  容器高度不定,超出高度出现滚动条_y方向滚动,不超过固定容器高度-CSDN博客
8 月前
大力的西瓜  ·  Laravels实现高性能HTTP服务器-腾讯云开发者社区-腾讯云
1 年前
坐怀不乱的铅笔  ·  Server-sent events and php - what triggers events on the server? - Stack Overflow
2 年前
闷骚的山楂  ·  python os.makedirs permission denied-掘金
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号