少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          package org.litsoft.air.unionpay;

          import java.io.ByteArrayOutputStream;

          import org.jdom2.Document;
          import org.jdom2.Element;
          import org.jdom2.output.XMLOutputter;

          public class CreateJdom {
           /**
            * 生成支付寶需要的XML格式,自己模擬測試支付接口的異步返回結果
            * @return
            */
           public static String createXml(){
            Element root=new Element("notify");
            Document doc=new Document(root);
            Element trade_status=new Element("trade_status");
            trade_status.setText("TRADE_FINISHED");
            root.addContent(trade_status);
            
            Element total_fee=new Element("total_fee");
            total_fee.setText("0.90");
            root.addContent(total_fee);
            
            Element subject=new Element("subject");
            subject.setText("123465");
            root.addContent(subject);
            
            Element out_trade_no=new Element("out_trade_no");
            out_trade_no.setText("1118060201-7555");
            root.addContent(out_trade_no);
            
            Element notify_reg_time=new Element("notify_reg_time");
            notify_reg_time.setText("2010-11-1814:02:43.000");
            root.addContent(notify_reg_time);
            
            Element trade_no=new Element("trade_no");
            trade_no.setText("2010111800209965");
            root.addContent(trade_no);
            
            ByteArrayOutputStream byteRsp=new ByteArrayOutputStream();
            XMLOutputter xmlOut=new XMLOutputter();
            try {
             xmlOut.output(doc, byteRsp);
            } catch (Exception e) {
             e.printStackTrace();
             System.out.println(e.getMessage());
            }
            String temp=byteRsp.toString();
            String result=temp.substring(temp.indexOf(">")+1, temp.length());
            return result.trim();
          //  return byteRsp.toString();
           }
           
           public static void main(String[] args) {
            CreateJdom jdom=new CreateJdom();
            String result=jdom.createXml();
            System.out.println(result);
           }

          }











          package org.litsoft.air.unionpay;

          import java.io.StringReader;
          import java.util.Collections;
          import java.util.HashMap;
          import java.util.Iterator;
          import java.util.List;
          import java.util.Map;

          import org.jdom2.Document;
          import org.jdom2.Element;
          import org.jdom2.input.SAXBuilder;
          import org.xml.sax.InputSource;

          public class ParseJdom {
           /**
            * 解析XMl里面的每個字段
            * @param xml
            * @return
            */
           public static Map<String,String> parseXml(String xml){
            Map<String,String> map=Collections.synchronizedMap(new HashMap<String,String>());
            StringReader reader=new StringReader(xml);
            InputSource source=new InputSource(reader);
            SAXBuilder sax=new SAXBuilder();
            try {
             Document doc=sax.build(source);
             Element root=doc.getRootElement();
             System.out.println("root,s name="+root.getName());
             System.out.println("root,s value="+root.getValue());
             List node=root.getChildren();
             Element element=null;
             for(int i=0;i<node.size();i++){
              element=(Element)node.get(i);
              map.put(element.getName(), element.getValue());
             }
            } catch (Exception e) {
             e.printStackTrace();
            }
            return map;
           }
           
           public static void main(String[] args) {
            String xmlHeader="<"+"?"+"xml"+" version="+"\"1.0\""+" encoding="+"\"UTF-8\""+"?"+">";
            CreateJdom jdom=new CreateJdom();
            String result=jdom.createXml();
            System.out.println("xmlHeader+result="+xmlHeader+result);
            Map<String,String> map=new ParseJdom().parseXml(xmlHeader+result);
            Iterator it=map.entrySet().iterator();
            while(it.hasNext()){
             Map.Entry<String, String> entry=(Map.Entry<String, String>)it.next();
             System.out.println(entry.getKey()+" , "+entry.getValue());
            }
            
           }
          }

          posted on 2012-07-19 18:13 abin 閱讀(557) 評論(0)  編輯  收藏 所屬分類: JDOM
          主站蜘蛛池模板: 来凤县| 英山县| 南投县| 九龙县| 玉溪市| 广南县| 黑山县| 会泽县| 长汀县| 沅陵县| 青龙| 如皋市| 资源县| 陵水| 清水河县| 宁国市| 开封市| 铜鼓县| 临湘市| 涡阳县| 松滋市| 柳河县| 芜湖县| 海淀区| 理塘县| 鲁山县| 讷河市| 板桥市| 南丹县| 和龙市| 香格里拉县| 喀什市| 庆元县| 阿勒泰市| 江油市| 永昌县| 淮滨县| 且末县| 漠河县| 平原县| 思茅市|