String形式的XML转换成dom以及dom转String

很多情况下,得到的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"?>”

 

你可能感兴趣的:(String)