📄 xmldispgroup.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 + -