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

一,项目中,需要解析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();
		//字符集为gb2312
		dO4JParmXML.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();
		}
 	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值