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

📄 xmlparser.java

📁 windows系统下用java开发的网络入侵检测程序
💻 JAVA
字号:

import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
/**
 * Use DOM parse XML message which transmit between JIDX Server and JIDX Client.<p>
 * 2005.8.10
 * @version 0.1.2
 * @author Daxin Tian
 *
 */
public class XMLParser{
	/**
	 * Message to be parsed.
	 */
	public InputStream in=null;
   /**
    * Server send to client tell signin, register or modify password success information.
    */
	public boolean ok_b=false;
	/**
	 * Server send to client signin or register failed information.
	 */
	public boolean error_b=false;
	/**
	 * Client send to server to transact register request.
	 */
	public boolean register_b=false;
	/**
	 * Client send to server to transact signin request.
	 */
	public boolean signin_b=false;
	/**
	 * Client send to server to transact search one or all users request.
	 */
	public boolean requsers_b=false;
	/**
	 * Server send to client searching user result.
	 */
	public boolean ackusers_b=false;
	/**
	 * Server send to client how many users have been found.
	 */
	public boolean ackusernum_b=false;
	/**
	 * Client send to server to transact look for signature request.
	 */
	public boolean reqsignature_b=false;
	/**
	 * Server send to client the signature.
	 */
	public boolean acksignature_b=false;
	/**
	 * Client send to server to transact modify signature request.
	 */
	public boolean modsignature_b=false;
	/**
	 * Client send to server to transact modify password request.
	 */
	public boolean modpassword_b=false;
	
	
	/**
	 * Client send to server register or signin username.Combined with register_b and signin_b.
	 */
	public String name_s=null;
	/**
	 * Client send to server register or signin password.Combined with register_b and signin_b.
	 */
	public String password_s=null;
	/**
	 * Client send to server register or signin signature.Combined with register_b and signin_b.
	 */
	public String info_s=null;
	/**
	 * Client send to server register or signin state.Combined with register_b and signin_b.
	 */
	public int    state_i=0;
	/**
	 * Client send to server register or signin IP address.Combined with register_b and signin_b.
	 */
	public String ips_s=null;
	/**
	 * Server send to client the success information.
	 * <ul>
	 * <li>1:register ok;
	 * <li>2:signin ok;
	 * <li>3:modify password ok;
	 * </ul>
	 * 
	 * Combined with ok_b.
	 */
	public int ok_i=0;
	/**
	 * Some success information. Combined with ok_b.
	 */
	public String ok_info=null;
	/**
	 * Server send to client the error information.
	 * <ul>
	 * <li>1:register error;
	 * <li>2:signin error;
	 * <li>3:search user error;
	 * <li>4:modify password error;
	 * </ul>
	 * 
	 * Combined with error_b.
	 */
	public int err_i=0;
	/**
	 * Some success information. Combined with error_b.
	 */
	public String err_info=null;
	/**
	 * Client send to server to search one or all users. Combined with requsers_b.
	 */
	public String requsers_s=null;
	/**
	 * Server send to Client the search user's name. Combined with ackusers_b.
	 */
	public String friendname_s=null;
	/**
	 * Server send to Client the search user's signature. Combined with ackusers_b.
	 */
	public String friendinfo_s=null;
	/**
	 * Server send to Client the search user's state. Combined with ackusers_b.
	 */
	public int  friendstate_i=0;
	/**
	 * Server send to Client the search user's IP address. Combined with ackusers_b.
	 */
	public String friendips_s=null;
	/**
	 * Server send to Client the search user result information. Combined with ackusernum_b.
	 */
	public String ackinfo_s=null;
	/**
	 * Server send to Client the how many users are founded. Combined with ackusernum_b.
	 */
	public int acknum_i=0;
	/**
	 * Server send to Client the look for signature result. Combined with acksignature_b.
	 */
	public String acksig_s=null;
	/**
	 * Client send to Server to the new signature . Combined with modsignature_b.
	 */
	public String modsig_s=null;
	/**
	 * Client send to Server to look for whose signature . Combined with reqsignature_b.
	 */
	public String reqsig_name_s=null;
	/**
	 * Client send to Server to modify whose signature . Combined with modsignature_b.
	 */
	public String modsig_name_s=null;
	
	/**
	 * Client send to Server to modify whose password . Combined with modpassword_b.
	 */
	public String modpassword_name_s=null;
	/**
	 * Client send to Server the old password . Combined with modpassword_b.
	 */
	public String oldpassword_s=null;
	/**
	 * Client send to Server the new password . Combined with modpassword_b.
	 */
	public String newpassword_s=null;
	
	public void parser()
	{
		try
		{
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder=factory.newDocumentBuilder();
			Document doc=builder.parse(in);
			doc.normalize();
			NodeList list_msg=doc.getElementsByTagName("msg");
		    //System.out.print(list_msg.getLength());
			if(list_msg.getLength()==1)
			{
				//System.out.println("msg begin");
				
				Element e_msg=(Element)list_msg.item(0);
				if(e_msg.getElementsByTagName("ok").getLength()>0)
				{
					Element e_ok=(Element)e_msg.getElementsByTagName("ok").item(0);
					ok_b=true;
					ok_i=Integer.parseInt(e_ok.getElementsByTagName("num").item(0).getFirstChild().getNodeValue());
					ok_info=e_ok.getElementsByTagName("info").item(0).getFirstChild().getNodeValue();
				}
				if(e_msg.getElementsByTagName("error").getLength()>0)
				{
					Element e_err=(Element)e_msg.getElementsByTagName("error").item(0);
					error_b=true;
					err_i=Integer.parseInt(e_err.getElementsByTagName("num").item(0).getFirstChild().getNodeValue());
					err_info=e_err.getElementsByTagName("info").item(0).getFirstChild().getNodeValue();
				}
			
				if(e_msg.getElementsByTagName("register").getLength()>0)
				{
					//System.out.println("xml parser REGISTER  ok");
					
					register_b=true;
					Element e_reg=(Element)e_msg.getElementsByTagName("register").item(0);
					name_s=e_reg.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
					password_s=e_reg.getElementsByTagName("password").item(0).getFirstChild().getNodeValue();
					ips_s=e_reg.getElementsByTagName("ips").item(0).getFirstChild().getNodeValue();
					
				}
				
				if(e_msg.getElementsByTagName("signin").getLength()>0)
				{
					//System.out.println("xml parser signin ok");
					
					signin_b=true;
					Element e_reg=(Element)e_msg.getElementsByTagName("signin").item(0);
					
					name_s=e_reg.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
					password_s=e_reg.getElementsByTagName("password").item(0).getFirstChild().getNodeValue();
					ips_s=e_reg.getElementsByTagName("ips").item(0).getFirstChild().getNodeValue();
					
				}
				if(e_msg.getElementsByTagName("ack_users").getLength()>0)
				{
					Element e_friendack=(Element)e_msg.getElementsByTagName("ack_users").item(0);
					ackusers_b=true;
					friendname_s=e_friendack.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
					//System.out.println("XML ack_users name:"+friendname_s);
					friendinfo_s=e_friendack.getElementsByTagName("info").item(0).getFirstChild().getNodeValue();
					//System.out.println("XML ack_users info:"+friendinfo_s);
					friendstate_i=Integer.parseInt(e_friendack.getElementsByTagName("state").item(0).getFirstChild().getNodeValue());
					//System.out.println("XML ack_users state:"+friendstate_i);
					friendips_s=e_friendack.getElementsByTagName("ips").item(0).getFirstChild().getNodeValue();
					//System.out.println("XML ack_users ips:"+friendips_s);
				}
				if(e_msg.getElementsByTagName("req_users").getLength()>0)
				{
					Element e_friendack=(Element)e_msg.getElementsByTagName("req_users").item(0);
					requsers_b=true;
					try
					{
						requsers_s=e_friendack.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
						
					}
					catch(DOMException e)
					{
						System.out.println("XML:"+e);
					}
				}
				if(e_msg.getElementsByTagName("ack_users_num").getLength()>0)
				{
					Element e_ack=(Element)e_msg.getElementsByTagName("ack_users_num").item(0);
					ackusernum_b=true;
					acknum_i=Integer.parseInt(e_ack.getElementsByTagName("num").item(0).getFirstChild().getNodeValue());
					ackinfo_s=e_ack.getElementsByTagName("info").item(0).getFirstChild().getNodeValue();
					
				}
				if(e_msg.getElementsByTagName("req_signature").getLength()>0)
				{
					Element e_ack=(Element)e_msg.getElementsByTagName("req_signature").item(0);
					reqsignature_b=true;
					reqsig_name_s=e_ack.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
					
				}
				if(e_msg.getElementsByTagName("ack_signature").getLength()>0)
				{
					Element e_ack=(Element)e_msg.getElementsByTagName("ack_signature").item(0);
					acksignature_b=true;
					acksig_s=e_ack.getElementsByTagName("sig").item(0).getFirstChild().getNodeValue();
					
				}
				if(e_msg.getElementsByTagName("mod_signature").getLength()>0)
				{
					Element e_ack=(Element)e_msg.getElementsByTagName("mod_signature").item(0);
					modsignature_b=true;
					modsig_s=e_ack.getElementsByTagName("sig").item(0).getFirstChild().getNodeValue();
					modsig_name_s=e_ack.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
					
				}
				if(e_msg.getElementsByTagName("mod_password").getLength()>0)
				{
					Element e_ack=(Element)e_msg.getElementsByTagName("mod_password").item(0);
					modpassword_b=true;
					modpassword_name_s=e_ack.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
					oldpassword_s=e_ack.getElementsByTagName("oldpassword").item(0).getFirstChild().getNodeValue();
					newpassword_s=e_ack.getElementsByTagName("newpassword").item(0).getFirstChild().getNodeValue();
					
				}
				
				
			}
		}
		catch(Exception e)
		{
		}
		
	}
}
				
			

⌨️ 快捷键说明

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