`
jxqc_job
  • 浏览: 529 次
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
自己写的Java读取XML文件-采用jdom技术-3 自己写的java读取xml文件-采用jdom技术-3
//1. ReadTreeXML3.java
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 ReadTreeXML3 {
	/**
	 * 读取树形菜单
	 */
	public static void readTree(){
		try {
			FileInputStream fis=new FileInputStream("d:\\menuTree3.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					
					System.out.println(oneMenu.getText().trim());
					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().trim());
						List allThreeMenus=twoMenu.getChildren("threeMenu");
						for(int m=0;m<allThreeMenus.size();m++){
							Element threeMenu=(Element)allThreeMenus.get(m);
							System.out.println("               "+threeMenu.getText().trim());
						}
					}
					System.out.println("******************************************************************");
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args){
		readTree(); //读取树菜单信息
	}
}

//2. menuTree3.xml存放在d盘根目录下
<?xml version="1.0" encoding="GBK" ?>
<menusTree>
	<menu>
		<oneMenu>
			菜单1
			<twoMenu>
				菜单11
				<threeMenu>
					菜单111
				</threeMenu>
			</twoMenu>
			<twoMenu>
				菜单12
				<threeMenu>
					菜单121
				</threeMenu>
				<threeMenu>
					菜单122
				</threeMenu>
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>
		<oneMenu>
			菜单2
			<twoMenu>
				菜单21
				<threeMenu>
					菜单211
				</threeMenu>
				<threeMenu>
					菜单212
				</threeMenu>
			</twoMenu>
			<twoMenu>
				菜单22
				<threeMenu>
					菜单221
				</threeMenu>
				<threeMenu>
					菜单222
				</threeMenu>
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>
		<oneMenu>
			菜单3
			<twoMenu>
				菜单31
				<threeMenu>
					菜单311
				</threeMenu>
				<threeMenu>
					菜单312
				</threeMenu>
			</twoMenu>
			<twoMenu>
				菜单32
				<threeMenu>
					菜单321
				</threeMenu>
				<threeMenu>
					菜单322
				</threeMenu>
				<threeMenu>
					菜单323
				</threeMenu>
			</twoMenu>
			<twoMenu>
				菜单33
				<threeMenu>
					菜单331
				</threeMenu>
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>
		<oneMenu>
			菜单4
			<twoMenu>
				菜单41
				<threeMenu>
					菜单411
				</threeMenu>
			</twoMenu>
			<twoMenu>
				菜单42
				<threeMenu>
					菜单421
				</threeMenu>
			</twoMenu>
			<twoMenu>
				菜单43
				<threeMenu>
					菜单431
				</threeMenu>
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>
		<oneMenu>
			菜单5
			<twoMenu>
				菜单51
				<threeMenu>
					菜单511
				</threeMenu>
				<threeMenu>
					菜单512
				</threeMenu>
			</twoMenu>
		</oneMenu>
	</menu>
	<menu>	
		<oneMenu>
			菜单6
			<twoMenu>
				菜单61
				<threeMenu>
					菜单611
				</threeMenu>
			</twoMenu>
		</oneMenu>
	</menu>
</menusTree>
Global site tag (gtag.js) - Google Analytics