org.apache.xml.serialize.XMLSerializer

目的
DOMツリー表現をXML文書形式に変換して、画面に出力する。

関連クラス

今回のソース
import java.io.*;
import org.apache.xerces.parsers.DOMParser;
import org.apache.xml.serialize.*;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class Main
{
	public static void main(String args[])
	{
		try
		{
			// DOMParserを構築し、DOMツリーを取得
			DOMParser parser = new DOMParser();
			parser.parse("test.xml");
			Document xml_doc = parser.getDocument();

			// DOMツリー表現を元に、形式を取得
			OutputFormat format = new OutputFormat(xml_doc);

			// シリアライザーの構築
			Writer writer = new OutputStreamWriter(System.out, "Shift_JIS");	// for Windows
			XMLSerializer serializer = new XMLSerializer(writer, format);

			// DOMツリーを変換してコンソールに出力
			serializer.serialize(xml_doc);
		}
		catch(IOException io_ex)
		{
			io_ex.printStackTrace();
		}
		catch(SAXException sax_ex)
		{
			sax_ex.printStackTrace();
		}
	}
}
Source is here. (ZIP Format, 907Byte, Shift-JIS)

コンパイル&実行
javac Main.java
java Main

説明
(概略)

主に、デバッグ用途に使うクラスです。
その理由として、出力エンコードがUTF-8である(純粋なUnicodeではない)、
改行やスペースの入れ方が美しくないということ。

(サンプルプログラムの説明)

Writer writer = new OutputStreamWriter(System.out, "Shift_JIS"); // for Windows
概略でも述べたように、XMLSerializerはUTF-8を吐き出すので、
コンソールに出力させるためには、Shift_JISに変換する必要があります。