`
jxqc_job
  • 浏览: 529 次
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
自己的Java读取XML文件-采用jdom技术 自己的java读取xml文件-采用jdom技术
//1. java源文件:  --需要导入jdom.jar包
package com.xml.file;

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

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;

public class ReadTreeXML {
	/**
	 * 读取树形菜单
	 */
	public static void readTree(){
		try {
			FileInputStream fis=new FileInputStream("d:\\menuTree.xml");
			SAXBuilder sb=new SAXBuilder();
			Document doc=sb.build(fis);
			Element root=doc.getRootElement();
			List allMenus=root.getChildren();
			for(int i=0;i<allMenus.size();i++){
				Element menu=(Element)allMenus.get(i);  //得到每个menu
				List allOneMenus=menu.getChildren("oneMenu");
				for(int j=0;j<allOneMenus.size();j++){
					Element oneMenu=(Element)allOneMenus.get(j); //获取每个menu下的每个oneMenu
					Element oneMenuValue=oneMenu.getChild("value");
					System.out.println(oneMenuValue.getText());
					List allTwoMenus=oneMenu.getChildren("twoMenu"); //获取oneMenu下的所有twoMenu
					for(int z=0;z<allTwoMenus.size();z++){
						Element twoMenu=(Element)allTwoMenus.get(z);
						System.out.println(twoMenu.getText());
					}
					System.out.println("******************************************************************");
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args){
		readTree(); //读取树菜单信息
	}
}
//2. XML文件--该文件存放路径d:\\menuTree.xml
<?xml version="1.0" encoding="GBK" ?>
<menusTree>
	<menu>
		<oneMenu>
			<value>菜单1</value>
			<twoMenu>
				菜单11
			</twoMenu>
			<twoMenu>
				菜单12
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>
		<oneMenu>
			<value>菜单2</value>
			<twoMenu>
				菜单21
			</twoMenu>
			<twoMenu>
				菜单22
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>
		<oneMenu>
			<value>菜单3</value>
			<twoMenu>
				菜单31
			</twoMenu>
			<twoMenu>
				菜单32
			</twoMenu>
			<twoMenu>
				菜单33
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>
		<oneMenu>
			<value>菜单4</value>
			<twoMenu>
				菜单41
			</twoMenu>
			<twoMenu>
				菜单42
			</twoMenu>
			<twoMenu>
				菜单43
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>
		<oneMenu>
			<value>菜单5</value>
			<twoMenu>
				菜单51
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>	
		<oneMenu>
			<value>菜单6</value>
			<twoMenu>
				菜单61
			</twoMenu>
		</oneMenu>
	</menu>
</menusTree>
Global site tag (gtag.js) - Google Analytics