📄 jdomtest.java
字号:
package com;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.w3c.dom.NodeList;
// 一个用读取XML的例子
public class JdomTest {
/**
* @param args
*/
public static void main(String[] args) {
String fileName = "src/com/MyXml.xml";
try {
InputStreamReader isr = new InputStreamReader(new FileInputStream(
fileName));
// long startDate=new Date().getTime();
SAXBuilder builder = new SAXBuilder(
"org.apache.xerces.parsers.SAXParser");
// 用了其他的解析器:xerces:org.apache.xerces.parsers.SAXParser,其实用默认解析器也可以解析,这里不用会更加快
// System.out.println(new Date().getTime()-startDate);
Document doc = builder.build(isr);
isr.close();
Element root = doc.getRootElement();// 根节点
// System.out.println(root);
System.out.println("根节点:" + root.getName());// animal
// 获得根节点下的元素集合
// List<Element> elementlist = root.getChildren();
// for (Element element : elementlist) {
// System.out.println("根节点下的元素:" + element.getName());
// /*
// * 打印结果: person person dog
// */
// // 获得子元素名为name的Value
// String name = element.getChildText("name");
// // 获得子元素名为age的Value,去前后空格
// String age = element.getChildTextTrim("age");
// System.out.println("该元素下的子元素为name的值:" + name
// + "* 该元素下的子元素为age的值:" + age);
// System.out.println("-------------------");
// }
// 获得根元素下是person的子元素
List<Element> personList = root.getChildren("person");
for (Element person : personList) {
System.out.println(person.getName());// person
// 获得person下的元素
List<Element> list = person.getChildren("pname");
for(Element x : list){
System.out.println(x.getName());// person
List<Element> personElement = x.getChildren();
for (Element e : personElement) {
// e.getName()获得元素名,e.getText()获得该元素的值
System.out.println(e.getName() + " " + e.getText());
}
System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^");
}
}
// 获得根元素下是dog的子元素
// List<Element> dogList = root.getChildren("dog");
// 输出名为tom的狗的年龄
// for (int i = 0; i < dogList.size(); i++) {
// String dogName = dogList.get(i).getChild("name").getTextTrim();
// // System.out.println(dogName);
// if ("tom".equalsIgnoreCase(dogName)) {
// System.out.println(dogList.get(i).getChild("name")
// .getTextTrim()
// + " "
// + dogList.get(i).getChild("age").getTextTrim());
// dogList.get(i).getChild("age").setText("11");
// System.out.println(dogList.get(i).getChild("age")
// .getTextTrim());
// }
// }
} catch (Exception e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -