📄 xmliterate.java~8~
字号:
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.TEXT_NODE){//文本
String a = n.getNodeValue();
if(!a.trim().equals("")) {
System.out.println(s + n.getNodeValue());
}
}
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 + -