📄 deptjdom.java
字号:
package firstjdom;
import java.io.*;
import org.jdom.input.*;
import org.jdom.output.*; //写出DOM树到文件
import org.jdom.*; //JDOM对象
import java.util.*;
//利用JDOM来遍历 XML文件 输出其中的元素
public class DeptJDom {
public static void printchild(Element e, int pos) {
//按层次进行缩进
String s = " ";
for (int i = 0; i < 3 * pos; i++) {
s += " ";
}
//元素是否有子元素
if (e.getChildren() != null) {
//得到所有的孩子节点
List l = e.getChildren();
for (int i = 0; i < l.size(); i++) {
Element ee = (Element) l.get(i);
//元素节点的名字
System.out.print(s + ee.getName() + " ");
//显示属性
List attrs = ee.getAttributes();
for (int j = 0; j < attrs.size(); j++) {
Attribute a = (Attribute) attrs.get(j);
System.out.print(a.getName() + "=" + a.getValue() + " ");
}
System.out.println();
//元素的值
System.out.println(s+s+ee.getValue());
//递归访问
printchild(ee, pos + 1);
}
}
else { //显示文本对象(文本元素)
//getText() 得到文本元素的值
//System.out.println(e.getName());
//System.out.println(s + " " + e.getText());
}
}
public static void main(String[] args) throws Exception {
//得到一个解析器SAX
//可以读XML大型文件
org.jdom.input.SAXBuilder builder
= new org.jdom.input.SAXBuilder();
//得到JDOM树
org.jdom.Document doc = builder.build("f:/dept.xml");
//得到根元素
//Element元素
//getRootElement() 得到根元素
Element e = doc.getRootElement();
System.out.print(e.getName());
//getAttributes() 得到元素的属性
//Attribute表示属性
List lattr = e.getAttributes();
for (int i = 0; i < lattr.size(); i++) {
Attribute attr = (Attribute) lattr.get(i);
//getName() 属性名
//getValue() 属性的值
System.out.print(attr.getName() + "=" + "\"" + attr.getValue() + " ");
}
System.out.println();
//以根为起点进行遍历
printchild(e, 0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -