欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

dom4j 读取全国省市县(地区)xml,dom4jxml,DOM4J 操作省市县邮

来源: javaer 分享于  点击 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>
相关栏目:

用户点评