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

📄 xmldisphost.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 xmlDispHost {

	/**
	 * @根据给定的GroupId,HostId显示特定主机的信息,已完成 2006-4-13 
	 * by li shengli & zhou hongmin 
	 */
	public Vector HostKey = new Vector();
	public Vector HostInfo = new Vector();
	
	private String Global_GroupId,Global_HostId;
	
	public void dispHost(String GroupId,String HostId) {
		// TODO 显示xml文件中的主机信息
		String CurGroupId = "Not Setting";
		String CurHostId= "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;
						
						//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")) {
							//判断主机名
							if (thirdelem.getChildText("Global_HostId").equals(HostId)) {
								CurHostId = HostId;
								//System.out.println("have Host - "+ HostId);
								xmlRecursionDisp(thirdelem,HostKey,HostInfo);
							} 
						}

				}
					
			}
				if (CurGroupId == "Not Setting") System.out.println("no such group");
				if (CurHostId == "Not Setting") System.out.println("no such host");
			} else
				System.out.println(" RootElement is invalid! ");
		} catch (Exception e) {
			System.out.println(e);
		}
	}
	public void  setGlobal_HostId(String GroupId,String HostId) {
		this.Global_GroupId=GroupId;
		this.Global_HostId=HostId;
	}
	
	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 xmlRecursionDisp(Element rootElem,Vector Key,Vector Info) throws JDOMException, IOException {
		// 从xml文件的一个分支处开始显示后面所有内容,已完成 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 (firstlist.size() > 0) {
				
				Key.addElement(strtrans.strTranstr(rootElem.getName(),0));
				Info.addElement("");
				//System.out.println(dispElem.getName());
				xmlRecursionDisp(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
		xmlDispHost dispHost = new xmlDispHost(); 
		dispHost.setGlobal_HostId("group23","group0_dsend3");
		dispHost.dispHost(dispHost.Global_GroupId,dispHost.Global_HostId);
		
		for (int i=0;i<dispHost.HostKey.size();i++) {
			System.out.println(dispHost.HostKey.get(i).toString()+ " : " + dispHost.HostInfo.get(i).toString());
		}
//		FileInputStream fos = new FileInputStream(new File("data/ggroup.xml"));
//
//		/* 使用Jdom对此数据文件进行解析 */
//
//		SAXBuilder sax = new SAXBuilder();
//		Document dom = sax.build(fos);
//
//		Element rootelem = dom.getRootElement();
//		 xmlRecursionDisp(rootelem);

	}

}

⌨️ 快捷键说明

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