请问java中怎么将生成的XML转化为字符串?

来源:百度知道 编辑:UC知道 时间:2024/06/20 23:54:37
最近在用做关于XML的工作,现在XML的DOC已经生成完毕,利用下面语句:
StreamResult streamResult = new StreamResult(file);
Source inputSource = new DOMSource(doc);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(inputSource, streamResult);
可以成功的将XML生成到本地file文件中,我想问一下,怎么能让生成的XML直接生成到一个字符串中,还请高人指点。
看来我还是没说明白:
我想生成XML之后直接存储到字符串中,而不是先存储到文件中再从文件中读取。
Document是DOM类型的。

我想问一下你的Document是什么类型的?如果是org.dom4j.Document的话,你可以Document doc = ...;String str = doc.asXML();可以直接利用asXML()这个方法!其实的话就不清楚了!还得查下!

=========================
还是没有查到!好像org.w3c.dom不提供这个方法!也可能是我没弄对!在或者只能先存入文件,然后读取...囧~~
不过楼主为什么要用org.w3c.dom不用org.dom4j,一般说来现在比较公认dom4j是相对方便的!

我贴一段解析xml代码你参考下

import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;

public class Parsmx{
public static void main(String[] args){
try{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder buld = dbf.newDocumentBuilder();
Document doc = buld.parse(new File("smx.xml"));
Element root = doc.getDocumentElement();
System.out.println("根节点标记名 :"+root.getTagName());
System.out.println("*************下面遍历XML元素****************");

NodeList list2 = root.getElementsByTagName("title");
Element title22Element = (Element)list2