Dom4j解析xml && json格式转换成String

来源:互联网 发布:知乎的帖子怎么删除 编辑:程序博客网 时间:2024/05/16 00:57

一,项目中,需要解析xml,使用了dom4j解析:

代码中实现是取指定的列的值

public void parserXml(String fileName,String type) {File inputXml = new File(fileName);SAXReader saxReader = new SAXReader();List<String> list = new ArrayList<String>();try {Document document = saxReader.read(inputXml);Element employees = document.getRootElement();for (Iterator<Element> i = employees.elementIterator(); i.hasNext();) {Element employee = (Element) i.next();for (Iterator<Element> j = employee.elementIterator(); j.hasNext();) {Element node = (Element) j.next();if(node.getName()==type){list.add(node.getText());}}}//去重复数据Set<String> set = new HashSet<String>(list);System.out.println(list.size());System.out.println("***************************");for (Iterator<String> iterator = set.iterator(); iterator.hasNext();) {Object object = (Object) iterator.next();System.out.println(object);}} catch (DocumentException e) {System.out.println(e.getMessage());}System.out.println("dom4j parserXml");}public static void main(String[] args) {DO4JParmXML dO4JParmXML = new DO4JParmXML();//字符集为gb2312dO4JParmXML.parserXml("c:\\Users\\zhanglong.zhanglong-PC\\Desktop\\aaa.xml","num_iid");}
xml格式:



二,传入json字符串和返回的指定字符串

public static void main(String[] args) {String name = "[{'items_get_response':{'items':{'item':[{'cid':50000697,'delist_time':'2011-12-27 15:40:23','nick':'wangxiangdong0705','num_iid':13315315630,'pic_url':'http://img04.taobaocdn.com/bao/uploaded/i4/153241374/T21ql7XnFbXXXXXXXX_!!153241374.jpg','post_fee':'8.00','price':'49.00','score':5,'title':'2011最新款 特价依情百诺打底衫  新店开张促销款打底衫','type':'fixed','volume':2},{'cid':1623,'delist_time':'2011-12-27 16:53:50','nick':'wangxiangdong0705','num_iid':13187398930,'pic_url':'http://img03.taobaocdn.com/bao/uploaded/i3/T1tJGIXbRnXXbAt7Z2_045051.jpg','post_fee':'10.00','price':'49.00','score':5,'title':'2011最新款女装 秋冬毛线时尚小短裙 特价包邮款短裙','type':'fixed','volume':1}]},'total_results':27}}]";discountJson2StrByType(name,"num_iid");}/** * 根据传入的json字符串和类型返回折扣字符串 * @param json * @param type * @return */public static final void discountJson2StrByType(String json,String type) {List<String> list = new ArrayList<String>();try {JSONArray jsons = JSONArray.fromObject(json);for (int i=0;i<jsons.size();i++) {JSONObject jobj = jsons.getJSONObject(i);String a = jobj.toString();System.out.println(a);String b[] = a.split(",");for (int j = 0; j < b.length; j++) {if(b[j].indexOf(type)>0){String d[] = b[j].split(":"); list.add(d[1]);}}}//去重复数据Set<String> set = new HashSet<String>(list);for (Iterator<String> iterator = set.iterator(); iterator.hasNext();) {Object object = (Object) iterator.next();System.out.println(object);}}catch (Exception e) {e.printStackTrace();} }


原创粉丝点击