您的位置:首页 > Web前端 > JavaScript

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

2013-04-22 16:38 399 查看
一,项目中,需要解析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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐