public WxMsgItem parseLine(String line) throws Exception{
		//ʼline̫Ҳʹʾƺݲʹ
		//List<String > lists = getValue("^.*\"MsgType\":([0-9]+).*$", line);
		int lidx , ridx;
		lidx = line.indexOf("\"MsgType\"");
		lidx = line.indexOf(":",lidx + 1);
		if(lidx == -1)
			throw new Exception("Malformed WxMsg");
		ridx = line.indexOf(",",lidx + 1);
		if(ridx == -1)
			throw new Exception("Malformed WxMsg");
		int msgType = Integer.parseInt( line.substring(lidx + 1,ridx).trim());
		WxMsgItem item = null;
		if(msgType == 1){
			line = line.replace("\\\\\\", "");
			WxMsgTextItem txtItem = new WxMsgTextItem();
			List<String> list = getValue("^.*\"TxtContent\"\\s*:\\s*\"([^\"]*)\".*$", line);
			if( list == null || list.size() == 0)
				txtItem.setContent( "" );
			else {
				txtItem.setContent(list.get(0));
			}
			item = txtItem;
		}else{// if(msgType == 49){
			lidx = line.indexOf("[");
			ridx = line.lastIndexOf("]");
			
			String contentString = line.substring(lidx + 1, ridx);
			lidx = line.lastIndexOf("Content", lidx);
			line = line.substring(0, lidx) + line.substring(ridx + 1);
			logger.info("The new line is: " + line) ;
			WxMsgHtmlItem htmlItem = new WxMsgHtmlItem();
			List<WxMsgHtmlItemContent> list = getMsgContent(contentString);
			htmlItem.setContent( list);
			item = htmlItem;
		}
		List<String> list = getValue("^.*\"WxId\"\\s*:\\s*\"([^\"]*)\".*$", line);
		if( list == null || list.size() == 0)
			item.setWxId( "");
		else
			item.setWxId( list.get(0));
		
		list = getValue("^.*\"SendTime\".*([0-9]+).*$", line);
		if( list == null || list.size() == 0)
			item.setSendTime(0);
		else
			item.setSendTime( Long.parseLong( list.get(0)));
//		item.setFansCount( Integer.parseInt( getValue("^.*\"FansCount\".*([0-9]+).*$", line).get(0)));
		item.setMsgType( msgType);
		
		return item;
	}