2007/03/28
DOM Node を文字列に変換する
Conv.java:
package hoge; import java.io.*; import javax.xml.transform.*; import javax.xml.transform.stream.*; import javax.xml.transform.dom.*; import org.w3c.dom.*; public class Conv { public static void main(String[] args) { Node srcNode = /* get from somewhere */; StringWriter writer = new StringWriter(); Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.transform(new DOMSource(srcNode), new StreamResult(writer)); System.out.println(writer.toString()); } }
これで srcNode がエレメントであろうが属性であろうが正しく文字列に変換されます。
この Transformer は DOM -> OutputStream や InputStream -> DOM や InputStream -> XSLT -> OutputStream などいろいろできる汎用インターフェースのようですが最近まで全く知りませんでした。汎用的すぎるいい例だと思います。
- Category(s)
- java
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/matsuyama/convert-dom-node-to-string/tbping
Re:DOM Node を文字列に変換する