2009-06-22 5 views
1

は、私はちょうど非常識行く避けるために、次の愚かなクラスを作成する必要がありました:JavaでのXML出力 - DOMImplementationLSには何がありますか?

import java.io.OutputStream; 

import org.w3c.dom.Document; 
import org.w3c.dom.bootstrap.DOMImplementationRegistry; 
import org.w3c.dom.ls.DOMImplementationLS; 
import org.w3c.dom.ls.LSOutput; 
import org.w3c.dom.ls.LSSerializer; 

public final class XMLSerializer { 
    public static final void writeDocument(Document input, OutputStream output) { 
     try { 
      DOMImplementationLS ls = 
       (DOMImplementationLS) DOMImplementationRegistry 
       .newInstance().getDOMImplementation("LS"); 
      LSSerializer ser = ls.createLSSerializer(); 
      LSOutput out = ls.createLSOutput(); 
      out.setByteStream(output); 
      ser.write(input, out); 
     } catch (Exception e) { // DIAF Java 
      throw new RuntimeException(e); 
     } 
    } 
} 

この便利なメソッドは、すでにJavaまたは共通ライブラリに存在していますか?ばかげたように見えますが、それは "catch(Exception e)"の下ですべての例外が崩壊するバージョンです。

答えて

1

これを試してみてください:

DOMSource domSource = new DOMSource(input); 
StreamResult resultStream = new StreamResult(output); 
TransformerFactory transformFactory = TransformerFactory.newInstance(); 
try { 
    serializer.transform(domSource, resultStream); 
} catch (javax.xml.transform.TransformerException e) { 
} 
0

dom4jを試してみてください。優れたXMLライブラリです。

関連する問題