?? xmliterate.java~6~
字號:
package xmlparse;
//必須導入的package
import org.w3c.dom.*; //dom樹的對象
import javax.xml.parsers.*; //解析器
import java.io.*; //文件的io
public class XmlIterate {
public static void printChild(Node nd,int level){
String s = " ";
for(int i=0;i<2 * level;i++){
s += " ";
}
if(nd.hasChildNodes()) {//含有子節點
NodeList nl = nd.getChildNodes();
for(int i=0;i<nl.getLength();i++){
//顯示每個節點的值
Node n = nl.item(i);
if(n.getNodeType()==Node.ELEMENT_NODE){//元素
System.out.print(s + n.getNodeName());
//顯示屬性
NamedNodeMap nm = n.getAttributes();
for(int j=0;j<nm.getLength();j++){
System.out.print(" " + nm.item(j).getNodeName()+"=");
System.out.print(nm.item(j).getNodeValue());
}
System.out.println();
}
//繼續調用printChild()
printChild(n,level+1);
}
}
}
public static void main(String[] args) throws Exception{
//1.生成XML解析器的工廠類
javax.xml.parsers.DocumentBuilderFactory dbf
= javax.xml.parsers.DocumentBuilderFactory.newInstance();
//2. 生成一個解析器的類
javax.xml.parsers.DocumentBuilder db
= dbf.newDocumentBuilder();
//3.解析XML成為DoM樹
Document doc = db.parse(new File("f:/order.xml"));
//遍歷order.xml文件
//得到文檔解析后的第一個節點
Node nd = doc.getFirstChild();
//訪問同一層次的節點
for(;nd!=null;nd=nd.getNextSibling()){
System.out.println(nd.getNodeName());
//顯示nd節點下的樹的結構
printChild(nd,1);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -