cdata xml与json的互转
来源:互联网 发布:华为杯网络比赛 编辑:程序博客网 时间:2024/06/05 11:16
package xml;import java.io.IOException;import java.io.StringReader;import java.util.HashMap;import java.util.List;import java.util.Map;import net.sf.json.JSONObject;import net.sf.json.xml.XMLSerializer;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.SAXBuilder;import org.xml.sax.InputSource;public class xmlcdata {public static List<org.jdom.Element> list; public static Map map; //普通xml转json public String xml2JSON(String xml){ return new XMLSerializer().read(xml).toString(); } //普通json转xml public String json2XML(String json){ JSONObject jobj = JSONObject.fromObject(json); String xml = new XMLSerializer().write(jobj); return xml; } //cdata xml转jsonpublic static List<org.jdom.Element> jdomParseXml(String xml) { try { StringReader read = new StringReader(xml); // 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入 InputSource source = new InputSource(read); // 创建一个新的SAXBuilder SAXBuilder sb = new SAXBuilder(); // 通过输入源构造一个Document org.jdom.Document doc; doc = (org.jdom.Document) sb.build(source); org.jdom.Element root = doc.getRootElement();// 指向根节点 list = root.getChildren(); /* * if(list!=null&&list.size()>0){ for (org.jdom.Element element : * list) { * * * // * System.out.println("key是:"+element.getName()+",值是:"+element.getText * ()); jdomxml= "key是:"+element.getName()+",值是:"+element.getText(); * } } */ } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return list; }//测试 public static void main(String[] args) { map=new HashMap<String, String>(); String xmlString = "<xml><return_code><![CDATA[SUCCESS]]></return_code>" + "<return_msg><![CDATA[OK]]></return_msg>" + "<appid><![CDATA[wx49151a8d01a6bf48]]></appid>" + "<mch_id><![CDATA[1363729502]]></mch_id>" + "<nonce_str><![CDATA[S1NLDjWlAFUrS6ZA]]></nonce_str>" + "<sign><![CDATA[8D94E45B7B47C89A6FB7FA4119469EC2]]></sign>" + "<result_code><![CDATA[FAIL]]></result_code>" + "</xml>"; List<Element> jdomParseXml = xmlcdata.jdomParseXml(xmlString); for (org.jdom.Element element : list) { // System.out.println("key是:" + element.getName() + ",值是:" // + element.getText()); map.put(element.getName(), element.getText()); } JSONObject jsonObject = JSONObject.fromObject(map); System.out.println(jsonObject); } }
0 0
- cdata xml与json的互转
- XML中PCDATA与CDATA的区别
- XML中PCDATA与CDATA的区别
- 【转】XML 注释、处理指令与CDATA
- XML CDATA的作用
- XML CDATA 的应用
- XML CDATA的作用
- xml的CDATA 区段
- XML CDATA的作用
- XML CDATA的作用
- XML CDATA的作用
- XML CDATA的作用
- XML CDATA的作用
- XML CDATA的作用
- xml cdata的作用
- XML中PCDATA与CDATA
- XML CDATA的有关说明
- XML&配置文件 CDATA的作用
- MAC下配置ANDROID环境变量
- Git多人基本使用笔记
- HDU 1573 X问题 [一元线性同余方程组]【数论】
- 超时设置
- 希腊神话
- cdata xml与json的互转
- 内存区域
- Oracle中decode函数对case when的简化
- 前端面试题(1)
- 十三章 猜拳代码
- 13章 练习
- 英文词汇
- HDFS读写文件的java代码
- You need to use a Theme.AppCompat theme (or descendant) with this activity