⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdomtest.java

📁 JDOM的实现类和Java开发时需要的包
💻 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 + -