package com.jlds.tools;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4j {
public Document readXml(String url,String charsetName) {
SAXReader reader = new SAXReader();
reader.setEncoding(charsetName);
Document document = null;
try {
// 获取Document对象
document = reader.read(url);
} catch (DocumentException e) {
e.printStackTrace();
}
return document;
}
public Map readDocNews(String url,String charsetName){
Map<String, String> dateMap = new HashMap<String, String>();
SimpleDateFormat ff = new SimpleDateFormat("yyyy-MM-dd");
Element root = this.readXml(url, charsetName).getRootElement();
//String code = root.element("code").getText();
//System.out.println("code:"+code);
Element item = root.element("item");
dateMap.put("id",item.elementText("id"));
dateMap.put("title",item.elementText("title"));
dateMap.put("keywords",item.elementText("keywords"));
dateMap.put("description",item.elementText("description"));
dateMap.put("content",item.elementText("content"));
dateMap.put("copyfrom",item.elementText("copyfrom"));
long xxx = Long.parseLong(item.elementText("addtime"))*1000;
dateMap.put("addtime",ff.format(xxx));
// System.out.println("id:"+item.elementText("id"));
// System.out.println("title:"+item.elementText("title"));
// System.out.println("keywords:"+item.elementText("keywords"));
// System.out.println("description:"+item.elementText("description"));
// System.out.println("content:"+item.elementText("content"));
// System.out.println("copyfrom:"+item.elementText("copyfrom"));
// System.out.println("addtime:"+item.elementText("addtime"));
return dateMap;
}
public List readDocList (String url,String charsetName){
List<Object> dataList = new ArrayList<Object>();
Element root = this.readXml(url, charsetName).getRootElement();
Map<String, String> dateMapx = new HashMap<String, String>();
dateMapx.put("code",root.element("code").getText());
dateMapx.put("page",root.element("page").getText());
dateMapx.put("conpage",root.element("conpage").getText());
dataList.add(dateMapx);
// System.out.println("code:"+code);
List list = root.elements("item");
for(int i=0;i<list.size();i++){
Element item = (Element)list.get(i);
Map<String, String> dateMap = new HashMap<String, String>();
dateMap.put("num",""+(i+1));
dateMap.put("id",item.elementText("id"));
dateMap.put("title",item.elementText("title"));
dateMap.put("addtime",item.elementText("addtime"));
dataList.add(dateMap);
// System.out.println("num:"+(i+1));
// System.out.println("id:"+item.elementText("id"));
// System.out.println("title:"+item.elementText("title"));
// System.out.println("addtime:"+item.elementText("addtime"));
// System.out.println("---------------------");
}
// Iterator urls = root.elementIterator("item");
// if(urls.hasNext()){
// while(urls.hasNext()){
// Element foo = (Element)urls.next();
// System.out.println("id:"+foo.elementText("id"));
// System.out.println("title:"+foo.elementText("title"));
// System.out.println("addtime:"+foo.elementText("addtime"));
// }
// }
return dataList;
}//end readDocument
public static void main(String[] args) {
Dom4j d = new Dom4j();
Map Urls1 = d.readDocNews(URL,"gb2312");
//List<String> Urls2 = d.readDocument1("D:/aaa.xml","gb2312");//调用下面的方法
List Urls2 = d.readDocList(URL,"gb2312");
}
}//end class