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

📄 domprinter.java

📁 孙鑫JAVA从入门到精通配套练习程序。所有程序都实际运行过
💻 JAVA
字号:
//演示遍历XML文档
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;

class DOMPrinter
{
	//打印节点的名字和值
	public static void printNodeInfo(Node node)
	{
		System.out.println(node.getNodeName()+" : "+node.getNodeValue());
	}
	//递归打印节点信息
	public static void printNode(Node node)
	{
		short nodeType = node.getNodeType();
		switch(nodeType)
		{
			case Node.PROCESSING_INSTRUCTION_NODE:
				System.out.println("------PI Start------");
				printNodeInfo(node);
				System.out.println("------PI End------");
				break;
			case Node.ELEMENT_NODE:
				System.out.println("------Element Start------");
				printNodeInfo(node);
				System.out.println("------Element End------");
				
				//打印元素的属性
				NamedNodeMap attrs = node.getAttributes();
				int attrNum = attrs.getLength();
				for(int i=0;i<attrNum;i++)
				{
					Node attr = attrs.item(i);
					System.out.println("------Attr Start------");
					printNodeInfo(attr);
					System.out.println("------Attr End------");
				}
				break;
			case Node.TEXT_NODE:
				System.out.println("------Text Start------");
				printNodeInfo(node);
				System.out.println("------Text End------");
				break;
			default:
				break;
			}
				
				//递归调用打印元素的子节点信息
				Node child = node.getFirstChild();
				while(null!=child)
				{
					printNode(child);
					child = child.getNextSibling();
				}
		}
	
	public static void main(String[] args)
	{
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
		try
		{
			DocumentBuilder db = dbf.newDocumentBuilder();
			Document doc = db.parse(new File("students.xml"));
			System.out.println("calling printNode");
			printNode(doc);
		}
		catch(Throwable ex)
		{
			ex.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

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