SAX解析xml文档

来源:互联网 发布:mysql json字段函数 编辑:程序博客网 时间:2024/05/16 07:47
package httpclient;


import java.io.StringReader;
import java.util.List;


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


import com.alibaba.fastjson.JSONObject;


/**
 * 解析微信xml
 * 
 * @author 龙
 * 
 */
public class DoDisposeWechatXML {
public static void main(String[] args) throws Exception {
parseWechatXML();
}


private static void parseWechatXML() throws Exception {
String xmlStr = "<xml><return_code><![CDATA[SUCCESS]]></return_code>"
+ "<return_msg><![CDATA[发放成功]]></return_msg>"
+ "<result_code><![CDATA[SUCCESS]]></result_code>"
+ "<mch_billno><![CDATA[1265497001201512175539656445]]></mch_billno>"
+ "<mch_id>1265497001</mch_id>" + "<wxappid><![CDATA[wx38a4f1dc2504dd74]]></wxappid>"
+ "<re_openid><![CDATA[o8d5QuLERR8J_Q93pK-Psou2aPz4]]></re_openid>"
+ "<total_amount>100</total_amount>"
+ "<send_listid><![CDATA[0010488030201601280462609491]]></send_listid>"
+ "<send_time><![CDATA[20160128095700]]></send_time>" + "</xml>";
StringReader read = new StringReader(xmlStr);
InputSource source = new InputSource(read);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(source);
Element root = doc.getRootElement();
// System.out.println(root.getName());// 输出根元素的名称(测试)
List jiedian = root.getChildren();
JSONObject jsonObject = new JSONObject();
for (int i = 0; i < jiedian.size(); i++) {
Element element = (Element) jiedian.get(i);
// System.out.println("name:" + element.getName() + ";value:" + element.getText());
jsonObject.put(element.getName(), element.getText());
}
System.out.println(jsonObject.toJSONString());
}


}
0 0