隨筆-71  評(píng)論-5  文章-0  trackbacks-0
            2015年8月9日
               摘要: 一個(gè)stmt多個(gè)rs進(jìn)行操作.那么從stmt得到的rs1,必須馬上操作此rs1后,才能去得到另外的rs2,再對(duì)rs2操作.不能互相交替使用,會(huì)引起rs已經(jīng)關(guān)閉錯(cuò)誤——Operation not allowed after ResultSet closed.錯(cuò)誤的代碼如下: stmt=conn.createStatement();  rs=stm...  閱讀全文
          posted @ 2015-10-13 14:58 藤本薔薇 閱讀(216) | 評(píng)論 (0)編輯 收藏
          在 JDK1.5 引入自動(dòng)裝箱和拆箱的機(jī)制后,包裝類(lèi)和基本類(lèi)型之間的轉(zhuǎn)換就更加輕松便利了。

          裝箱:把基本類(lèi)型轉(zhuǎn)換成包裝類(lèi),使其具有對(duì)象的性質(zhì),又可分為手動(dòng)裝箱和自動(dòng)裝箱

          int i= 10; //定義一個(gè)int基本類(lèi)型值
          Integer x = new Integer(i); //手動(dòng)裝箱
          Integer y = i; //自動(dòng)裝箱
          posted @ 2015-09-22 20:28 藤本薔薇 閱讀(229) | 評(píng)論 (0)編輯 收藏

          功能:將一個(gè)由英文字母組成的字符串轉(zhuǎn)換成指定格式---從右邊開(kāi)始每三個(gè)字母用逗號(hào)分隔的形式。

          請(qǐng)?jiān)诰庉嬈髦械牡?/span> 4、10 行將代碼填寫(xiě)完整

          運(yùn)行效果: j,aew,kjl,dfx,mop,zdmpublic static void main(String[] args) {
                  // Java文件名
          String fileName = "HelloWorld.jav"; 
                  // 郵箱
          String email = "laurenyang@imooc.com";
          // 判斷.java文件名是否正確:合法的文件名應(yīng)該以.java結(jié)尾
                  /*
                  參考步驟:
                  1、獲取文件名中最后一次出現(xiàn)"."號(hào)的位置
                  2、根據(jù)"."號(hào)的位置,獲取文件的后綴
                  3、判斷"."號(hào)位置及文件后綴名
                  */
                  //獲取文件名中最后一次出現(xiàn)"."號(hào)的位置
          int index = fileName.lastIndexOf('.');
                  
                  // 獲取文件的后綴
          String prefix = fileName.substring(index);
                  
          // 判斷必須包含"."號(hào),且不能出現(xiàn)在首位,同時(shí)后綴名為"java"
          if (index !=0 && index != -1 &&  prefix.equals("java")) {
          System.out.println("Java文件名正確");
          } else {
          System.out.println("Java文件名無(wú)效");
          }

                  // 判斷郵箱格式是否正確:合法的郵箱名中至少要包含"@", 并且"@"是在"."之前
                   /*
                  參考步驟:
                  1、獲取文件名中"@"符號(hào)的位置
                  2、獲取郵箱中"."號(hào)的位置
                  3、判斷必須包含"@"符號(hào),且"@"必須在"."之前
                  */
             // 獲取郵箱中"@"符號(hào)的位置
          int index2 = email.indexOf("@");
                  
                  // 獲取郵箱中"."號(hào)的位置
          int index3 = email.indexOf('.');
                  
          // 判斷必須包含"@"符號(hào),且"@"必須在"."之前
          if (index2 != -1 && index3 > index2) {
          System.out.println("郵箱格式正確");
          } else {
          System.out.println("郵箱格式無(wú)效");
          }
          }






          字節(jié)是計(jì)算機(jī)存儲(chǔ)信息的基本單位,1 個(gè)字節(jié)等于 8 位, gbk 編碼中 1 個(gè)漢字字符存儲(chǔ)需要 2 個(gè)字節(jié)1 個(gè)英文字符存儲(chǔ)需要 1 個(gè)字節(jié)。所以我們看到上面的程序運(yùn)行結(jié)果中,每個(gè)漢字對(duì)應(yīng)兩個(gè)字節(jié)值,如“學(xué)”對(duì)應(yīng) “-47 -89” ,而英文字母 “J” 對(duì)應(yīng) “74” 。同時(shí),我們還發(fā)現(xiàn)漢字對(duì)應(yīng)的字節(jié)值為負(fù)數(shù),原因在于每個(gè)字節(jié)是 8 位,最大值不能超過(guò) 127,而漢字轉(zhuǎn)換為字節(jié)后超過(guò) 127,如果超過(guò)就會(huì)溢出,以負(fù)數(shù)的形式顯示。






               public static void main(String[] args) {
          // 定義一個(gè)字符串
          String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
                  
                  // 出現(xiàn)次數(shù)
          int num = 0;
                   // 循環(huán)遍歷每個(gè)字符,判斷是否是字符 a ,如果是,累加次數(shù)
          for ( int i=0;i<s.length()-1;i++)
          {
                      // 獲取每個(gè)字符,判斷是否是字符a
          if (  'a'==s.charAt(i)      ) {
                          // 累加統(tǒng)計(jì)次數(shù)
          num++; 
          }
          }
          System.out.println("字符a出現(xiàn)的次數(shù):" + num);
          }




          功能:將一個(gè)由英文字母組成的字符串轉(zhuǎn)換成指定格式---從右邊開(kāi)始每三個(gè)字母用逗號(hào)分隔的形式。

          請(qǐng)?jiān)诰庉嬈髦械牡?/span> 4、10 行將代碼填寫(xiě)完整

          運(yùn)行效果: j,aew,kjl,dfx,mop,zdm


              public static void main(String[] args) {
          // 創(chuàng)建一個(gè)空的StringBuilder對(duì)象
                  StringBuilder str = new StringBuilder();
          // 追加字符串
          str.append("jaewkjldfxmopzdm");
                  // 從后往前每隔三位插入逗號(hào)
          for(int i = str.length()-3; i>0 ; i=i-3){
               
                     str.insert(i,",");
          }
              
                  // 將StringBuilder對(duì)象轉(zhuǎn)換為String對(duì)象并輸出
          System.out.print(str.toString());
          }

           結(jié)果: j,aew,kjl,dfx,mop,zdm
          posted @ 2015-09-22 16:12 藤本薔薇 閱讀(357) | 評(píng)論 (0)編輯 收藏
          String s1 = "imooc";
          String s2 = "imooc";
                  
                  //定義字符串s3,保存“I love”和s1拼接后的內(nèi)容
          String s3 = "I love" + s1; 
                  // 比較字符串s1和s2
          // imooc為常量字符串,多次出現(xiàn)時(shí)會(huì)被編譯器優(yōu)化,只創(chuàng)建一個(gè)對(duì)象
          System.out.println("s1和s2內(nèi)存地址相同嗎?" + (s1 == s2));
                  
                  //比較字符串s1和s3
          System.out.println("s1和s3內(nèi)存地址相同嗎?" +  (s1==s3));
          String s4 = "I love " + s1;
                   //比較字符串s4和s3
          // s1是變量,s4在運(yùn)行時(shí)才知道具體值,所以s3和s4是不同的對(duì)象
          System.out.println("s3和s4內(nèi)存地址相同嗎?" + (s4 == s3));
          posted @ 2015-09-22 15:26 藤本薔薇 閱讀(277) | 評(píng)論 (0)編輯 收藏
          //外部類(lèi)HelloWorld
          public class HelloWorld {
              
              // 內(nèi)部類(lèi)Inner,類(lèi)Inner在類(lèi)HelloWorld的內(nèi)部
              public class Inner {
                  
          // 內(nèi)部類(lèi)的方法
          public void show() {
          System.out.println("welcome to imooc!");
          }
          }
              
          public static void main(String[] args) {
                  
                  // 創(chuàng)建外部類(lèi)對(duì)象
          HelloWorld hello = new HelloWorld();
                  // 創(chuàng)建內(nèi)部類(lèi)對(duì)象
          Inner i = hello.new Inner();
                  // 調(diào)用內(nèi)部類(lèi)對(duì)象的方法
          i.show();
          }
          }
          posted @ 2015-09-09 15:47 藤本薔薇 閱讀(313) | 評(píng)論 (0)編輯 收藏














          posted @ 2015-09-09 14:41 藤本薔薇 閱讀(321) | 評(píng)論 (0)編輯 收藏
          不清楚路徑的查找 : find / -name mysql


           MYSQL常用經(jīng)典命令(沒(méi)有試過(guò))
          1.停止mysql
          kill -9 `ps -ef | grep mysqld_safe| grep -v grep| awk '{print $2}'`
          kill -9 `ps -ef | grep 'mysqld' | grep -v grep| awk '{print $2}'`

          2.啟動(dòng)mysql
          cd /usr/local/mysql-5.4.1-beta-linux-x86_64-glibc23
          /bin/sh bin/mysqld_safe --user=mysql & 


          find /home/lijiajia/ -amin -10        #查找在系統(tǒng)中最后10分鐘訪(fǎng)問(wèn)的文件
          find /home/lijiajia/ -atime -2        #查找在系統(tǒng)中最后48小時(shí)訪(fǎng)問(wèn)的文件
          find /home/lijiajia/ -empty           #查找在系統(tǒng)中為空的文件或者文件夾
          find /home/lijiajia/ -mmin -5         # 查找在系統(tǒng)中最后5 分鐘里修改過(guò)的文件
          find /home/lijiajia/ -mtime -1        #查找在系統(tǒng)中最后24 小時(shí)里修改過(guò)的文件
          find /home/lijiajia/ -nouser          #查找在系統(tǒng)中屬于作廢用戶(hù)的文件(不明白是什么意思)
          find /home/lijiajia/ -amin 10         #查找在系統(tǒng)中最后10分鐘訪(fǎng)問(wèn)的文件
          find /home/ftp/pub -user lijiajia     #查找在系統(tǒng)中屬于lijiajia這個(gè)用戶(hù)的文件
          posted @ 2015-09-02 10:26 藤本薔薇 閱讀(214) | 評(píng)論 (0)編輯 收藏
            public static Map ConvertObjToMap(Object obj){
                        Map<String,Object> reMap = new HashMap<String,Object>();
                        if (obj == null
                         return null;
                        Field[] fields = obj.getClass().getDeclaredFields();
                        try {
                         for(int i=0;i<fields.length;i++){
                          try {
                           Field f = obj.getClass().getDeclaredField(fields[i].getName());
                           f.setAccessible(true);
                                 Object o = f.get(obj);
                                 if(o == null){
                                     o = "";
                                 }else{
                                     o = String.valueOf(o);
                                 }
                                 reMap.put(fields[i].getName(), String.valueOf(o));
                          } catch (NoSuchFieldException e) {
                           // TODO Auto-generated catch block
                           e.printStackTrace();
                          } catch (IllegalArgumentException e) {
                           // TODO Auto-generated catch block
                           e.printStackTrace();
                          } catch (IllegalAccessException e) {
                           // TODO Auto-generated catch block
                           e.printStackTrace();
                          }
                         }
                        } catch (SecurityException e) {
                         // TODO Auto-generated catch block
                         e.printStackTrace();
                        } 
                        return reMap;
                       }
          posted @ 2015-08-31 19:52 藤本薔薇 閱讀(1018) | 評(píng)論 (0)編輯 收藏

          import java.io.IOException;
          import java.util.Date;

          import org.apache.commons.httpclient.HttpClient;
          import org.apache.commons.httpclient.HttpException;
          import org.apache.commons.httpclient.NameValuePair;
          import org.apache.commons.httpclient.methods.PostMethod;
          import org.dom4j.Document;
          import org.dom4j.DocumentException;
          import org.dom4j.DocumentHelper;
          import org.dom4j.Element;

          import com.alibaba.fastjson.JSONObject;
          import com.huoniu.openapi.constant.Constant.MESSAGE;
          import com.huoniu.openapi.constant.InvokeContext;
          import com.huoniu.openapi.model.RetCode;
          import com.huoniu.openapi.model.RetMsg;
          import com.huoniu.openapi.model.SmsCode;
          import com.huoniu.openapi.service.SmsCodeService;
          import com.huoniu.openapi.utils.AESUtil;
          import com.huoniu.openapi.utils.SmsUtil;
          import com.huoniu.openapi.web.interceptor.InvokeContextInitInterceptor;
          import com.puff.framework.annotation.Before;
          import com.puff.framework.annotation.Controller;
          import com.puff.framework.annotation.Inject;
          import com.puff.framework.annotation.InterceptorChain;
          import com.puff.framework.utils.JsonUtil;
          import com.puff.framework.utils.StringUtil;
          import com.puff.web.view.TextView;
          import com.puff.web.view.View;
          import com.puff.web.view.ViewFactory;

          @Controller("/rest/sms")
          public class HuyiSmsController {    

              private static String content = "您的驗(yàn)證碼是:%s。請(qǐng)不要把驗(yàn)證碼泄露給其他人。";
              public View send(){
                  
                  String invokeData = InvokeContext.getInvokeData();
                  if (StringUtil.blank(invokeData)) {
                      return json(RetMsg.error(RetCode.OTHER_ERROR, "發(fā)送短信失敗!"));
                  }
                  
                  JSONObject jsonObject = JSONObject.parseObject(invokeData);
                  String  mobile = jsonObject.getString("customer_no");
                  if (StringUtil.blank(mobile)) {
                      return json(RetMsg.error(RetCode.NULL_PARAM, "手機(jī)號(hào)碼不能為空"));
                  }
                      
                      HttpClient client = new HttpClient(); 
                      PostMethod method = new PostMethod(MESSAGE.NEW_MESSAGEURL);  //接口地址
                          
                      client.getParams().setContentCharset("UTF-8");
                      method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8");

                      int mobile_code = (int)((Math.random()*9+1)*100000);        
                                                         System.out.println("mobile_code : "+mobile_code);
                      NameValuePair[] data = {//提交短信
                              new NameValuePair("account", MESSAGE.NEW_ACCOUNT), 
                              new NameValuePair("password", SmsUtil.MD5Encode(MESSAGE.NEW_PASSWORD)),
                              new NameValuePair("mobile", mobile), 
                              new NameValuePair("content", String.format(content, mobile_code)),
                      };
                      
                      method.setRequestBody(data);        

                      try {
                          client.executeMethod(method);    
                          String SubmitResult =method.getResponseBodyAsString();
                          Document doc = DocumentHelper.parseText(SubmitResult); 
                          Element root = doc.getRootElement();
                          String code = root.elementText("code");    
                          String msg = root.elementText("msg");    
                          String smsid = root.elementText("smsid");    
                                      
                          if(code == "2"){  //發(fā)送成功,寫(xiě)庫(kù)
                              
                          }
                          
                      } catch (HttpException e) {
                          e.printStackTrace();
                      } catch (IOException e) {
                          e.printStackTrace();
                      } catch (DocumentException e) {
                          e.printStackTrace();
                      }    
                      
                  
                      return json(RetMsg.success("發(fā)送成功!!!"));
                  
              }
              
              
              
              public View json(RetMsg msg) {
                  String data = JsonUtil.toJson(msg);
                  if (InvokeContext.isEncrypt()) {
                      data = AESUtil.encrypt(data);
                  }
                  return ViewFactory.text(data, TextView.ContentType.JSON);
              }

          }
          posted @ 2015-08-31 10:02 藤本薔薇 閱讀(306) | 評(píng)論 (0)編輯 收藏
          import org.apache.commons.httpclient.HttpClient;
          import org.apache.commons.httpclient.NameValuePair;
          import org.apache.commons.httpclient.methods.PostMethod;

          import com.alibaba.fastjson.JSONObject;
          import com.huoniu.openapi.constant.Constant.TONGLIAN;


          public class TLInterfaceService {
              
              private static final String USERNAME = "";
              private static final String PASSWORD = "";
              private static final String TENANT = "";
              private static final String GRANT_TYPE_GET = "password";    
              private static final String GRANT_TYPE_REFRESH = "refresh_token";    
              
              private static String TOKEN = null;
              private static String REFRESH_TOKEN = null;
              private static long EXPIRES_IN ;
              private static long START_DATE;

              
              public  String getToken() {
                  if(TOKEN==null){
                          TOKEN  = login();
                  }else{
                      Date date = new Date();
                      if(START_DATE-date.getTime()<EXPIRES_IN-30){
                          TOKEN  = refresh();
                      }
                      
                  }
                  
                  return TOKEN;
              }
              
              
              public  void setToken(String token) {
                  TOKEN = token;
              }


              /**
               * 登陸,獲取token
               * 
          @return 
               
          */
                      
                  public static String login(){

                          HttpClient httpClient = new HttpClient();
                          String URL = String.format(TONGLIAN.PREV_PATH, "");  //接口地址
                          try {
                              PostMethod postMethod = new PostMethod(URL);
                              postMethod.addRequestHeader("Content-Type","application/x-www-form-urlencoded");
                              NameValuePair[] data = { 
                                      new NameValuePair("username", USERNAME),
                                      new NameValuePair("password", PASSWORD),
                                      new NameValuePair("tenant",  TENANT),
                                      new NameValuePair("grant_type", GRANT_TYPE_GET)
                                       };
                              postMethod.setRequestBody(data);
                              int statusCode = httpClient.executeMethod(postMethod);
                              if(200 == statusCode){
                                  String body  = postMethod.getResponseBodyAsString();
                                  JSONObject json=JSONObject.parseObject(body);
                                  TOKEN = json.getString("access_token");
                                  REFRESH_TOKEN = json.getString("refresh_token");
                                  EXPIRES_IN = Long.parseLong(json.getString("expires_in"));
                                  START_DATE =  (new Date()).getTime();
                              }
                          } catch (Exception e) {
                              
                          }
                          return TOKEN;
                   }
                  
                  /**
                   * refresh_token
                   * 
          @return 
                   
          */
                                  
                  public static String refresh(){
                          
                      HttpClient httpClient = new HttpClient();
                          String URL = String.format(TONGLIAN.PREV_PATH, ""); //接口地址
                          try {
                              PostMethod postMethod = new PostMethod(URL);
                              postMethod.addRequestHeader("Content-Type","application/x-www-form-urlencoded");
                              NameValuePair[] data = { 
                                      new NameValuePair("refresh_token", REFRESH_TOKEN),
                                      new NameValuePair("grant_type", GRANT_TYPE_REFRESH)
                               };
                              postMethod.setRequestBody(data);
                              int statusCode = httpClient.executeMethod(postMethod);
                              
                              if(200 == statusCode){
                                  String body  = postMethod.getResponseBodyAsString();
                                  JSONObject json=JSONObject.parseObject(body);
                                  TOKEN = json.getString("access_token");
                                  REFRESH_TOKEN = json.getString("refresh_token");
                                  EXPIRES_IN = Long.parseLong(json.getString("expires_in"));
                                  START_DATE =  (new Date()).getTime();
                              }
                          } catch (Exception e) {
                              
                          }
                          return TOKEN;
                   }

          }
          posted @ 2015-08-31 09:54 藤本薔薇 閱讀(290) | 評(píng)論 (0)編輯 收藏

          /Files/kokosang/html5拖拽上傳.zip

            前幾天想做個(gè)給安卓app升級(jí)做個(gè)上傳頁(yè)面,然后從網(wǎng)上down了個(gè)頁(yè)面下面(主要是嫌棄自己頁(yè)面整的太丑,見(jiàn)不了人),然后就一直在整后臺(tái)取值的辦法
            各種百度,值取出來(lái)了,但是,悲催的是總是亂碼,崩潰了,大神看了后,鄙視一番,給我整了下,簡(jiǎn)直就是重寫(xiě)了

            貼出來(lái),先放張頁(yè)面效果
            


            賞心悅目的后臺(tái)來(lái)咯

          import java.io.BufferedWriter;
          import java.io.File;
          import java.io.FileOutputStream;
          import java.io.IOException;
          import java.io.InputStream;
          import java.io.OutputStream;
          import java.io.OutputStreamWriter;
          import java.util.List;

          import org.apache.log4j.Logger;
          import org.apache.tomcat.util.http.fileupload.FileItem;
          import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory;
          import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;

          import com.puff.framework.annotation.Controller;
          import com.puff.web.mvc.PuffContext;
          import com.puff.web.view.View;

          @Controller("/upload/android")
          public class AndroidVersionUploadController {

              private static final Logger logger = Logger.getLogger(UserImageController.class);
              
              private static final String FILE_PATH = "C:/Users/Administrator/Desktop";
              
              private static final String FILE_APK_NAME = "/nn.apk";
              private static final String FILE_VER_NAME = "/ver.txt";
              
              /**
               * 版本上傳
               * 
          @return
               * 
          @throws Exception 
               
          */
              public View update() throws Exception {
                  DiskFileItemFactory factory = new DiskFileItemFactory(); 
                  ServletFileUpload upload = new ServletFileUpload(factory); 
                  List<FileItem> items = upload.parseRequest( PuffContext.getRequest()); 
                  
                  String ver = null;
                  String info = null;
                  String isFoucs = null;
                  for(Object object : items) { 
                      FileItem fileItem = (FileItem)object; 
                      if(fileItem.isFormField()) { 
                          
                          String name = fileItem.getFieldName();
                          String value = fileItem.getString("utf-8");
                          
                          if("ver".equals(name)){
                              ver = value;
                          }else if("content".equals(name)){
                              info = value;
                          }else if("radio".equals(name)){
                              isFoucs = value;
                          }
                      } else {
                          saveFileInfo(fileItem);
                      }
                  } 
                  
                  saveContentInfo(ver, info, isFoucs);
                  
                  return null;
              
              }

              private void saveFileInfo(FileItem fileItem) {
                  
                  InputStream is = null;
                  OutputStream os = null;
                  try {
                      File file = new File(FILE_PATH);
                      if(file.exists()) {
                          file.mkdirs();
                      }
                      
                      is = fileItem.getInputStream();
                      os = new FileOutputStream(FILE_PATH + FILE_APK_NAME);
                      
                      int len = 0;
                      byte[] buffer = new byte[8 * 1024];
                      while ((len = is.read(buffer, 0, 8 * 1024)) != -1) {
                          os.write(buffer, 0, len);
                      }
                  } catch (Exception e) {
                      e.printStackTrace();
                  } finally {
                      closeOutputStream(os);
                      closeInputStream(is);
                  }
              }
              
              public void saveContentInfo(String ver, String info, String isFoucs) {
                  BufferedWriter br = null;
                  try {
                      File file = new File(FILE_PATH);
                      if(file.exists()) {
                          file.mkdirs();
                      }
                      
                      br = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FILE_PATH + FILE_VER_NAME), "utf-8"));
                      br.write("ver:" + ver + "\r\n");   //版本號(hào)
                      br.write("update:" + isFoucs+ "\r\n");   //是否強(qiáng)制更新
                      br.write("content:" + info );    //版本升級(jí)內(nèi)容
                      br.flush();
                  } catch (Exception e) {
                      e.printStackTrace();
                  } finally {
                      try {
                          if(br != null) {
                              br.close();
                          }
                      } catch (IOException e) {
                          e.printStackTrace();
                      } finally {
                          br = null;
                      }
                  }
              }


              private void closeOutputStream(OutputStream os) {
                  if(os != null) {
                      try {
                          os.close();
                      } catch (IOException e) {
                          e.printStackTrace();
                      } finally {
                          os = null;
                      }
                  }
              }
              
              private void closeInputStream(InputStream is) {
                  if(is != null) {
                      try {
                          is.close();
                      } catch (IOException e) {
                          e.printStackTrace();
                      } finally {
                          is = null;
                      }
                  }
              }
          }
          posted @ 2015-08-24 10:35 藤本薔薇 閱讀(262) | 評(píng)論 (0)編輯 收藏
          public static void main(String[] args) {

                  String xml = "<?xml version=\"1.0\" encoding=\"gb2312\"?><p><seqid></seqid><code></code><msg>成功</msg>" +
                                    "<node><ename>huoniu</ename><cname>火牛</cname><prefix>108</prefix><begin>20150603</begin><end>20160630</end><borr>1000000</borr><margin>100000</margin><usdborr>1000000</usdborr><usdmargin>100000</usdmargin><mainp>0.60</mainp><midp>0.60</midp><growp>0.60</growp><mainpt>0.60</mainpt><midpt>0.60</midpt><growpt>0.30</growpt><shcomm>0.000300</shcomm><szcomm>0.000300</szcomm><warn>1.000</warn><close>1.000</close><interest>200</interest><commf>13</commf><layout>p-huo01:1100000:574810</layout><unmoney>0</unmoney><tstatus>0</tstatus><cstatus>0</cstatus></node>" +
                                    " <node><ename>nn</ename><cname>牛牛</cname><prefix>102</prefix><begin>20150615</begin><end>20151015</end><borr>10000000</borr><margin>8000000</margin><usdborr>10000000</usdborr><usdmargin>8000000</usdmargin><mainp>0.60</mainp><midp>0.60</midp><growp>0.30</growp><mainpt>0.60</mainpt><midpt>0.60</midpt><growpt>0.30</growpt><shcomm>0.003000</shcomm><szcomm>0.003000</szcomm><warn>0.800</warn><close>0.800</close><interest>0</interest><commf>0</commf><layout></layout><unmoney>18000000</unmoney><tstatus>0</tstatus><cstatus>0</cstatus></node>" +
                                   "<node><ename>ag-huo</ename><cname>兜底代理商</cname><prefix>huo</prefix><begin>20150602</begin><end>20160630</end><borr>0</borr><margin>0</margin><usdborr>0</usdborr><usdmargin>0</usdmargin><mainp>0.60</mainp><midp>0.60</midp><growp>0.30</growp><mainpt>0.60</mainpt><midpt>0.60</midpt><growpt>0.30</growpt><shcomm>0.000300</shcomm><szcomm>0.000300</szcomm><warn>0.010</warn><close>0.010</close><interest>0</interest><commf>0</commf><layout></layout><unmoney>0</unmoney><tstatus>0</tstatus><cstatus>0</cstatus></node></p>";

                  List<Map> nodeList = new ArrayList<Map>();
                  Map<String, Object> sendMap = new HashMap<String, Object>();
                  try {
                      
                      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                      DocumentBuilder db = dbf.newDocumentBuilder();
                      Document doc = db.parse(new InputSource(new StringReader(xml)));
                      Element root = doc.getDocumentElement();// 根節(jié)點(diǎn)

                      Node node = root.getFirstChild();
                      while(node != null) {
                          String nodeName = node.getNodeName().trim();
                          String nodeValue = node.getTextContent().trim();
                          
                          if("node".equals(nodeName) && node.hasChildNodes()) {
                              
                              Map<String, Object> nodeMap = new HashMap<String, Object>();
                              
                              Node childNode = node.getFirstChild();
                              while(childNode != null) {
                                  nodeMap.put(childNode.getNodeName(), childNode.getTextContent());
                                  childNode = childNode.getNextSibling();
                              }
                              
                              nodeList.add(nodeMap);
                          } else {
                              sendMap.put(nodeName, nodeValue);
                          }
                          
                          node = node.getNextSibling();
                      }
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
                  
                  sendMap.put("node", nodeList);
                  
                  System.out.println(sendMap);
              }



          打印結(jié)果 :
          {node=[{warn=1.000, cstatus=0, tstatus=0, borr=1000000, growpt=0.30, unmoney=0, midpt=0.60, usdmargin=100000, commf=13, close=1.000, begin=20150603, shcomm=0.000300, usdborr=1000000, growp=0.60, interest=200, layout=p-huo01:1100000:574810, prefix=108, ename=huoniu, midp=0.60, mainpt=0.60, margin=100000, szcomm=0.000300, cname=火牛, end=20160630, mainp=0.60}, 
                      {warn=0.800, cstatus=0, tstatus=0, borr=10000000, growpt=0.30, unmoney=18000000, midpt=0.60, usdmargin=8000000, commf=0, close=0.800, begin=20150615, shcomm=0.003000, usdborr=10000000, growp=0.30, interest=0, layout=, ename=nn, midp=0.60, mainpt=0.60, margin=8000000, szcomm=0.003000, end=20151015, mainp=0.60},
                      {warn=0.010, cstatus=0, tstatus=0, borr=0, growpt=0.30, unmoney=0, midpt=0.60, usdmargin=0, commf=0, close=0.010, begin=20150602, shcomm=0.000300, usdborr=0, growp=0.30, interest=0, layout=, prefix=huo, ename=ag-huo, midp=0.60, mainpt=0.60, margin=0, szcomm=0.000300, end=20160630, mainp=0.60}], seqid=, code=, msg=成功}
          posted @ 2015-08-09 10:15 藤本薔薇 閱讀(267) | 評(píng)論 (0)編輯 收藏
                public static void main(String[] args) throws Exception {
                      Map<String, Object> sendMap = new HashMap<String, Object>();
                      String data = "<?xml version=\"1.0\" encoding=\"gb2312\"?><p><seqid></seqid><client>0BF3F2D9A01797BBF05D6BC89877DC91</client><ename>108-wc</ename><code>0</code><msg>成功</msg><totalm>12447.97</totalm><cash>5669.13</cash><stockm>6778.84</stockm><num>2</num><stock><node><market>0</market><symbol>600104</symbol><direct>1</direct><type>0</type><avgprice>21.010</avgprice><holdnum>299</holdnum></node><node><market>0</market><symbol>601818</symbol><direct>1</direct><type>0</type><avgprice>4.993</avgprice><holdnum>4</holdnum></node></stock></p>";

                      List<Map> nodeList = new ArrayList<Map>();
                      try {
                          DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                          DocumentBuilder db = dbf.newDocumentBuilder();
                          Document doc = db.parse(new InputSource(new StringReader(data)));
                          Element root = doc.getDocumentElement();// 根節(jié)點(diǎn)
                          Node node = root.getFirstChild();
                          while(node != null) {
                              String nodeName = node.getNodeName().trim();
                              String nodeValue = node.getTextContent().trim();
                              if("stock".equals(nodeName) && node.hasChildNodes()) {
                                  Node  nodeOne =  node.getFirstChild();
                                  while(nodeOne != null) {
                                   String nodeOneName = nodeOne.getNodeName().trim();
                                   if("node".equals(nodeOneName) && nodeOne.hasChildNodes()){
                                       Map<String, Object> nodeMap = new HashMap<String, Object>();
                                        Node threeNode = nodeOne.getFirstChild();
                                          while(threeNode != null) {
                                              nodeMap.put(threeNode.getNodeName(), threeNode.getTextContent());
                                              threeNode = threeNode.getNextSibling();
                                          }
                                          nodeList.add(nodeMap);
                                        }
                                     nodeOne = nodeOne.getNextSibling();
                                     }
                                  }else{
                                      sendMap.put(nodeName, nodeValue);
                                  }
                              node = node.getNextSibling();
                              }                    
                          sendMap.put("node", nodeList);
                      } catch (Exception e) {
                          e.printStackTrace();
                      }
                      System.out.println(sendMap);
                }  


          打印結(jié)果:{node=[{direct=1, market=0, symbol=600104, avgprice=21.010, holdnum=299, type=0},
                       {direct=1, market=0, symbol=601818, avgprice=4.993, holdnum=4, type=0}],
                        num=2, seqid=, client=0BF3F2D9A01797BBF05D6BC89877DC91, stockm=6778.84, cash=5669.13, ename=108-wc, code=0, totalm=12447.97, msg=成功}
          posted @ 2015-08-09 10:09 藤本薔薇 閱讀(477) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 浠水县| 志丹县| 东辽县| 桃源县| 沾化县| 兴义市| 旬邑县| 岳普湖县| 兴海县| 鹤山市| 东平县| 确山县| 武邑县| 海原县| 蒙阴县| 南澳县| 安溪县| 本溪| 麦盖提县| 大悟县| 北宁市| 蓝山县| 黄浦区| 刚察县| 沂源县| 榆中县| 汉川市| 托克逊县| 常德市| 岐山县| 海淀区| 咸宁市| 重庆市| 台湾省| 磴口县| 西盟| 鲁甸县| 大姚县| 云南省| 海口市| 方城县|