JAVA 将xml文件转换成String
JAVA 将xml文件转换成String
小小明童鞋 发表于10个月前
JAVA 将xml文件转换成String
  • 发表于 10个月前
  • 阅读 15
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

调用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;
		}

 

标签: document file xml String
共有 人打赏支持
粉丝 4
博文 51
码字总数 15151
×
小小明童鞋
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: