欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java解析xml

程序员文章站 2022-06-17 08:29:32
...

结构

java解析xml

需要的jar依赖

commons-lang3-3.1.jar
dom4j-1.6.1.jar

jar 依赖下载,也可以maven,*仓库找找吧
https://download.csdn.net/download/qq_41463655/11133055

test.xml

<?xml version="1.0" encoding="UTF-8"?>
<students>
	<student1 id="001">
		<微信公众号>@残缺的孤独</微信公众号>
		<学号>20140101</学号>
		<地址>北京海淀区</地址>
		<座右铭>要么强大,要么听话</座右铭>
	</student1>
	<student2 id="002">
		<新浪微博>@残缺的孤独</新浪微博>
		<学号>20140102</学号>
		<地址>北京朝阳区</地址>
		<座右铭>在哭泣中学会坚强</座右铭>
	</student2>
</students>  

java


import java.io.File;
import java.util.Iterator;
import java.util.List;

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

public class xml_demo {
	
	public static void main(String[] args) throws DocumentException {
		
		//创建SAXR对象
		SAXReader saxReader = new SAXReader();
		//获取文件
		Document read = saxReader.read(new File("F:\\workspace\\workspace-SVN\\xml_demo\\resources\\test.xml"));
		//获取根节点
		Element rootElement = read.getRootElement();
		//
		getNodes(rootElement);

	}

	//数据获取
	static public void getNodes(Element rootElement) {
		//System.out.println("当前节点名称:" + rootElement.getName());
		// 获取属性ID
		List<Attribute> attributes = rootElement.attributes();
		
		//打印id
		for (Attribute attribute : attributes) {
			System.out.println("====================================");
			System.out.println("属性:" + attribute.getName() + "---" + attribute.getText());
		}
		
		//打印内容标签/值
		if (!rootElement.getTextTrim().equals("")) {
			System.out.println(rootElement.getName() + "--" + rootElement.getText());
		}
		
		// 使用迭代器遍历,节点
		Iterator<Element> elementIterator = rootElement.elementIterator();
		
		while (elementIterator.hasNext()) {
			//获取下一个节点
			Element next = elementIterator.next();
			getNodes(next);
		}
	}
}

运行结果

java解析xml

相关标签: xml