⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeviewer.java

📁 JAVA与XML处理一个重要方法是SAX,该包提供了11个常用程序,下载后可以根据具体情况对改进.这11个程序都已调试过.包括对XML的各种处理.建议先下载这个.
💻 JAVA
字号:
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.util.*;

public class TreeViewer extends DefaultHandler
{
	private Stack nodes;

	public void startDocument() throws SAXException
	{
		 nodes=new Stack();
	}
	private TreeNode root;
	public void startElement(String namespaceURI, String localName,
	String qualifiedName, Attributes atts)
	{
		String data;
		if(namespaceURI.equals("")) data=localName;
		else
		{
			data='{'+namespaceURI+"} "+qualifiedName;
		}
		MutableTreeNode node=new DefaultMutableTreeNode(data);
		try{
			MutableTreeNode parent=(MutableTreeNode)nodes.peek();
			parent.insert(node,parent.getChildCount());
		}
		catch(EmptyStackException e){
			root=node;
		}
		nodes.push(node);
	}
	public void endElement(String namespaceURI, String localName, 
	String qualifiedName)  {
		nodes.pop();
	}
	public void endDocument()
	{
		JTree tree = new JTree(root);
		JScrollPane treeView = new JScrollPane(tree);
		JFrame f = new JFrame("XML Tree");
		
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.getContentPane().add(treeView);
		f.pack();
		f.show();		
	}
	
	public static void main(String[] args)
	{
		try{
			XMLReader parser=XMLReaderFactory.createXMLReader(
				"org.apache.xerces.parsers.SAXParser"
			);
			ContentHandler handler= new TreeViewer();
			parser.setContentHandler(handler);
			for(int i=0;i<args.length;i++){
				parser.parse(args[i]);
			}
		}
		catch(Exception e){
			System.err.println(e);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -