dom4j 读取全国省市县(地区)xml,dom4jxml,DOM4J 操作省市县邮
分享于 点击 14341 次 点评:175
dom4j 读取全国省市县(地区)xml,dom4jxml,DOM4J 操作省市县邮
DOM4J 操作省市县邮编地区码区号输出到xml文件,和从xml文件中读取信息。
[Java]dom4j数据读写代码
package oshop.commons;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.List;import javax.annotation.Resource;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentFactory;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;import oshop.entity.Area;import oshop.entity.City;import oshop.entity.Province;import oshop.service.AreaService;import oshop.service.CityService;import oshop.service.ProvinceService;/** * * @author i1989.com * */public class AreaXMLTools { private ProvinceService provinceService; private CityService cityService; private AreaService areaService; @Resource public void setProvinceService(ProvinceService provinceService) { this.provinceService = provinceService; } @Resource public void setCityService(CityService cityService) { this.cityService = cityService; } @Resource public void setAreaService(AreaService areaService) { this.areaService = areaService; } private XMLWriter writer = null; private SAXReader reader = null; private Document doc; private DocumentFactory df = DocumentFactory.getInstance(); public void export(File p, File c, File a) { List pList = this.provinceService.getAll(); try { writer = new XMLWriter(new BufferedWriter(new FileWriter(p)), OutputFormat.createPrettyPrint()); } catch (IOException e1) { e1.printStackTrace(); return; } if (pList != null) { Element root = df.createElement("data"); doc = df.createDocument(root); for (Province prov : pList) { Element provElement = root.addElement("province"); provElement.addAttribute("id", String.valueOf(prov.getId())); provElement.addAttribute("name", prov.getName()); } try { writer.write(doc); } catch (IOException e) { e.printStackTrace(); } finally { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } // //////////////////////////////////////////////////////////////////////// List cList = this.cityService.getAll(); try { writer = new XMLWriter(new BufferedWriter(new FileWriter(c)), OutputFormat.createPrettyPrint()); } catch (IOException e1) { e1.printStackTrace(); return; } if (cList != null) { Element root = df.createElement("data"); doc = df.createDocument(root); for (City city : cList) { Element cityElement = root.addElement("city"); cityElement.addAttribute("id", String.valueOf(city.getId())); cityElement.addAttribute("name", city.getName()); cityElement.addAttribute("province", String.valueOf(city .getProvince().getId())); } try { writer.write(doc); } catch (IOException e) { e.printStackTrace(); } finally { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } // //////////////////////////////////////////////////////////////////////// List aList = this.areaService.getAll(); try { writer = new XMLWriter(new BufferedWriter(new FileWriter(a)), OutputFormat.createPrettyPrint()); } catch (IOException e1) { e1.printStackTrace(); return; } if (aList != null) { Element root = df.createElement("data"); doc = df.createDocument(root); for (Area area : aList) { Element cityElement = root.addElement("area"); cityElement.addAttribute("id", String.valueOf(area.getId())); cityElement.addAttribute("name", area.getName()); cityElement.addAttribute("zipCode", area.getZipCode()); cityElement.addAttribute("areaCode", area.getAreaCode()); cityElement.addAttribute("city", String.valueOf(area.getCity() .getId())); } try { writer.write(doc); } catch (IOException e) { e.printStackTrace(); } finally { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } } public void inport(File p, File c, File a) { reader = new SAXReader(df); try { doc = reader.read(p); } catch (DocumentException e) { e.printStackTrace(); } Element root = doc.getRootElement(); List pList = root.selectNodes("/data/province"); for (Element pEle : pList) { System.out.println(pEle.attributeValue("id") + " \t" + pEle.attributeValue("name")); // Province pp = new Province(); // pp.setId(Integer.valueOf(pEle.attributeValue("id"))); // pp.setName(pEle.attributeValue("name")); // provinceService.save(pp); } // //////////////////////////////////////////////////////////////////////// try { doc = reader.read(c); } catch (DocumentException e) { e.printStackTrace(); } root = doc.getRootElement(); List cList = root.selectNodes("/data/city"); for (Element cEle : cList) { System.out.println(cEle.attributeValue("id") + " \t" + cEle.attributeValue("name") + "\t" + cEle.attributeValue("province")); // City cc = new City(); // cc.setId(Integer.valueOf(cEle.attributeValue("id"))); // cc.setName(cEle.attributeValue("name")); // Province pp = new Province(); // pp.setId(Integer.valueOf(cEle.attributeValue("province"))); // cc.setProvince(pp); // cityService.save(cc); } // //////////////////////////////////////////////////////////////////////// try { doc = reader.read(a); } catch (DocumentException e) { e.printStackTrace(); } root = doc.getRootElement(); List aList = root.selectNodes("/data/area"); for (Element aEle : aList) { System.out.println(aEle.attributeValue("id") + " \t" + aEle.attributeValue("name") + "\t" + aEle.attributeValue("city") + "\t" + aEle.attributeValue("zipCode") + "\t" + aEle.attributeValue("areaCode") + "\t"); // Area aa = new Area(); // City cc = new City(); // cc.setId(Integer.valueOf(aEle.attributeValue("city"))); // // aa.setId(Integer.valueOf(aEle.attributeValue("id"))); // aa.setName(aEle.attributeValue("name")); // aa.setCity(cc); // aa.setAreaCode(aEle.attributeValue("areaCode")); // aa.setZipCode(aEle.attributeValue("zipCode")); // // areaService.save(aa); } }}
province,cities,area
<?xml version="1.0" encoding="UTF-8"?><data> <province id="110000" name="北京市"/> <province id="120000" name="天津市"/> <province id="130000" name="河北省"/> <province id="140000" name="山西省"/> <province id="150000" name="内蒙古自治区"/> <province id="210000" name="辽宁省"/> <province id="220000" name="吉林省"/> <province id="230000" name="黑龙江省"/> <province id="310000" name="上海市"/> <province id="320000" name="江苏省"/> <province id="330000" name="浙江省"/> <province id="340000" name="安徽省"/> <province id="350000" name="福建省"/> <province id="360000" name="江西省"/> <province id="370000" name="山东省"/> <province id="410000" name="河南省"/> <province id="420000" name="湖北省"/> <province id="430000" name="湖南省"/> <province id="440000" name="广东省"/> <province id="450000" name="广西壮族自治区"/> <province id="460000" name="海南省"/> <province id="500000" name="重庆市"/> <province id="510000" name="四川省"/> <province id="520000" name="贵州省"/> <province id="530000" name="云南省"/> <province id="540000" name="西藏自治区"/> <province id="610000" name="陕西省"/> <province id="620000" name="甘肃省"/> <province id="630000" name="青海省"/> <province id="640000" name="宁夏回族自治区"/> <province id="650000" name="新疆维吾尔自治区"/> <province id="710000" name="台湾省"/> <province id="810000" name="香港特别行政区"/> <province id="820000" name="澳门特别行政区"/></data>
用户点评