import java.io.*; import org.w3c.dom.*; import org.apache.xerces.dom.*; import org.apache.xerces.parsers.*; import org.apache.xerces.readers.MIME2Java; import org.apache.xerces.utils.StringPool; public class Test2 { public static final void main(String[] args) { try{ new Test2().processMain(); }catch(IOException ex){ ex.printStackTrace(); } } public void processMain() throws IOException { try{ org.apache.xerces.parsers.DOMParser parser=new org.apache.xerces.parsers.DOMParser(); parser.parse("Test.xml"); Document document=parser.getDocument(); BufferedWriter writer=new BufferedWriter(new OutputStreamWriter( System.out ,"SHIFT_JIS")); print(writer,document,"無題"); writer.flush(); } catch ( Exception e ) { e.printStackTrace(System.err); } } private String strPastElementName=""; public void print(BufferedWriter writer,Node node,String strElementName) throws IOException { if ( node == null ) { return; } int type = node.getNodeType(); switch ( type ) { case Node.DOCUMENT_NODE: { print(writer,((Document)node).getDocumentElement(),"無題"); break; } case Node.ELEMENT_NODE: { NodeList children = node.getChildNodes(); if ( children != null ) { int len = children.getLength(); for ( int i = 0; i < len; i++ ) { print(writer,children.item(i),node.getNodeName()); } } break; } case Node.TEXT_NODE: { if(strElementName.equals("URL"))break; if(strElementName.equals("よく見るウェブページ"))break; if(strPastElementName.equals(strElementName)==false) { if(strElementName.equals("題名"))writer.newLine(); strPastElementName=strElementName; writer.newLine(); writer.write(strElementName+": "); } writer.write(node.getNodeValue()); break; } } } }