很多情况下,得到的request或者response都是String形式的,而不是文件形式的xml,此时使用StringReader来作为inputstream的中间层
// 字符串转XML
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource inputSource = new InputSource();
Document document = null;
inputSource.setCharacterStream(new StringReader(rawXML));
document = documentBuilder.parse(inputSource);
//XML转字符串
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty(/"encoding/",/"GB23121/");//解决中文问题,试过用GBK不行
ByteArrayOutputStream bos = new ByteArrayOutputStream();
t.transform(new DOMSource(doc), new StreamResult(bos));
String xmlStr = bos.toString();
注:这样出来的会带有xml头“<?xml version="1.0" encoding="UTF-8"?>”