1.13 Java之XML解析

1.13 Java之XML解析_第1张图片

package com.lujier.ReadXml;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
* TODO
*   @File:  ReadXml.java
 *  @Author: Lujier          @SINCE: 2020年8月12日 下午11:57:40
 * */
public class ReadXml {
	public static void main(String[] args) {
		/**
		dom4j解析技术:
	       1. 添加依赖: dom4j
	       2. 创建解析器SaxReader对象
	       3. 获取documents对象
	       4. 获取根元素
	       5. 获取根元素下的子元素
       */
		String file_path = "src/test/resources/students.xml";
		// 1. 创建解析器SAXReader对象
		SAXReader reader = new SAXReader();
		try {
			// 2. 创建并获取一个document对象
			FileInputStream inputs = new FileInputStream(file_path);
			Document doc = reader.read(inputs);
			// 3. 获取根元素
			Element root_ele = doc.getRootElement();
			// 4. 获取子元素
			List eles = root_ele.elements();
			// 4.1 遍历一级子元素
			for(Element ele :eles) {
				// getName是标签名,attributeValue()获取指定元素的属性值
//				System.out.printf(ele.getName()+"="+ele.attributeValue("name")+"\n");
				List son_eles = ele.elements();
				if(son_eles != null) {
					for(Element ele2 :son_eles) {
						System.out.printf(ele2.getName()+"="+ele2.attributeValue("id")+"\n");
	
					}
				}
			}
			inputs.close();
			
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

1.13 Java之XML解析_第2张图片

你可能感兴趣的:(JAVA自动化测试,XML解析,dom4j,XML文件解析)