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

📄 xmldispgroup.java

📁 一个小的门户的实现。
💻 JAVA
字号:
package portal.collector;

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

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

public class xmlDispGroup {

	/**
	 * @根据给定的GroupId,HostId显示特定主机的信息,已完成 2006-4-13 
	 * by li shengli & zhou hongmin 
	 */
	public Vector GroupKey = new Vector();
	public Vector GroupInfo = new Vector();
	public Vector HostName = new Vector();
	
	private String Global_GroupId;
	
	public void dispGroup(String GroupId) {
		// TODO 显示xml文件中的主机信息
		String CurGroupId = "Not Setting";
		
		File file = new File("C:\\jboss\\server\\default\\deploy\\webtest.war\\data\\ggroup.xml");

		try {
			FileInputStream fos = new FileInputStream(file);

			/* 使用Jdom对此数据文件进行解析 */

			SAXBuilder sax = new SAXBuilder();
			Document dom = sax.build(fos);

			Element rootelem = dom.getRootElement(); // 得到请求的根标识符
			List rootlist = rootelem.getChildren(); // 得到请求的一系列第二级标识符

			if ("group_host".equals(rootelem.getName())) { /* 如果是groupxml */

				/* 遍历命令的第二级标识符,即所有组信息和普通节点信息 */
				for (int i = 0; i < rootlist.size(); i++) {

					/* 对每一个第二级标识符进行处理,得到每一个的查询结果;如果第二级标志符无效,内容为空 */
					Element secelem = (Element) rootlist.get(i);

					List seclist = secelem.getChildren();
					
//					判断组名
					if (secelem.getChildText("Global_GroupId").equals(GroupId)) {
						CurGroupId = GroupId;
						xmlRecursionDispGroup(secelem,GroupKey,GroupInfo);
						//System.out.println("have group - "+ CurGroupId);
					} else continue;
					
//					for (int k = 0; k < seclist.size(); k++) {
//						Element thirdelem = (Element) seclist.get(k);
//
//						String string0 = thirdelem.getName();
//						System.out.println(string0);
//						if (!string0.equals("host")) {
//							//递归读取组信息
//							xmlRecursionDisp(thirdelem,GroupKey,GroupInfo);
//						}else {
//							//读取主机名列表
//						}
//
//				}
					
			}
				if (CurGroupId == "Not Setting") System.out.println("no such group");
			} else
				System.out.println(" RootElement is invalid! ");
		} catch (Exception e) {
			System.out.println(e);
		}
	}
	public void  setGlobal_GroupId(String GroupId) {
		this.Global_GroupId=GroupId;
	}
	
	public String stringTrans(String str,int language) {
		String strresult;
		
		//将关键字转换为对应的打印文字,如”source_ip“转为为“源IP”或“Source IP”
		//language = 0 为汉语, =1 为英语
		if (language == 0 ) {
			strresult = "结果文字";
		} else {
			strresult = "result String ";
		}
		
		return strresult;
	}
	public void xmlRecursionDispGroup(Element rootElem,Vector Key,Vector Info) throws JDOMException, IOException {
		// 从xml文件的一个分支处开始显示后面所有内容,这里"host"节点中的信息只取"Global_HostId"
		//已完成 2006-4-12
		//
		strTrans strtrans = new strTrans();
		
		List rootlist = rootElem.getChildren();
		for (int i = 0; i < rootlist.size(); i++) {
			
			rootElem = (Element) rootlist.get(i);
			List firstlist = rootElem.getChildren();
			if (rootElem.getName().equals("host")) {
				//System.out.println(rootElem.getChildText("Global_HostId"));
				HostName.addElement(rootElem.getChildText("Global_HostId"));
			} else 	if (firstlist.size() > 0) {
				
				Key.addElement(strtrans.strTranstr(rootElem.getName(),0));
				Info.addElement("");
				//System.out.println(dispElem.getName());
				xmlRecursionDispGroup(rootElem,Key,Info);
			} else {
				Key.add(strtrans.strTranstr(rootElem.getName(),0));
				Info.addElement(rootElem.getText());
				//System.out.println(dispElem.getName() + " : "+ dispElem.getText());
			}

		}

	}
	
	public static void main(String[] args) throws JDOMException, IOException {
		// TODO Auto-generated method stub
		xmlDispGroup dispGroup = new xmlDispGroup(); 
		dispGroup.setGlobal_GroupId("group2");
		dispGroup.dispGroup(dispGroup.Global_GroupId);
		
		System.out.println("Group Info :");
		for (int i=0;i<dispGroup.GroupKey.size();i++) {
			System.out.println(dispGroup.GroupKey.get(i).toString()+ " : " + dispGroup.GroupInfo.get(i).toString());
		}
		
		System.out.println("\nHost List :");
		for (int j=0;j<dispGroup.HostName.size();j++) {
			System.out.println(dispGroup.HostName.get(j).toString());
		}


	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -