?? domprinter.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 + -