Dom4J 解析xml ,类查询

/**
     * 从XML文件比对,传入provinceId 返回 provinceShortName 
     * @param provinceid
     * @return
     */
    public static String provinceIdEXprovinceCodeFromXml(String provinceid){ 
        String provinceShortName="";
        try {  
            SAXReader sax = new SAXReader(); 
            File file=new File(ServletActionContext.getServletContext().getRealPath("/zxdc")+File.separatorChar+"provinceCode.xml");
            System.out.println("xml路径:"+ServletActionContext.getServletContext().getRealPath("/zxdc/xml")+File.separatorChar+"provinceCode.xml");
            // File file=new File("E:\\provinceCode.xml"); //测试路径
            Document xmlDoc = sax.read(file);  
            Element root = xmlDoc.getRootElement();//根节点  
            Iterator it = root.elementIterator("province");  
            while(it.hasNext()){  //循环xml子节点
                Element province = (Element)it.next();  
                if (provinceid.equals(province.attributeValue("id"))) {//传入参数 provinceId与 子节点id作比对、类查询
                    provinceShortName=province.elementText("sname");//shortName赋值,用于return
                }
            }  
        } catch (DocumentException e) {  
            e.printStackTrace();  
        }
        return provinceShortName;  
    }

dom4j解析xml文件节点,做类查询操作。

循环比对xml文档中的provinceId ,并返回相应的简拼。

<?xml version="1.0" encoding="UTF-8"?>
<provinces>
    <province id="11">
        <name>北京市</name>
         <sname>BJ</sname>
    </province>
    <province id="12">
        <name>天津市</name>
         <sname>TJ</sname>
    </province>
    <province id="13">
        <name>河北省</name>
         <sname>HE</sname>
    </province>
    <province id="14">
        <name>山西省</name>
         <sname>SX</sname>
    </province>
    <province id="15">
        <name>内蒙古自治区</name>
         <sname>NM</sname>
    </province>
    <province id="21">
        <name>辽宁省</name>
         <sname>LN</sname>
    </province>
    <province id="22">
        <name>吉林省</name>
         <sname>JL</sname>
    </province>
    <province id="23">
        <name>黑龙江省</name>
         <sname>HL</sname>
    </province>
    <province id="31">
        <name>上海市</name>
         <sname>SH</sname>
    </province>
    <province id="32">
        <name>江苏省</name>
         <sname>JS</sname>
    </province>
    <province id="33">
        <name>浙江省</name>
         <sname>ZJ</sname>
    </province>
    <province id="34">
        <name>安徽省</name>
         <sname>AH</sname>
    </province>
    <province id="35">
        <name>福建省</name>
         <sname>FJ</sname>
    </province>
    <province id="36">
        <name>江西省</name>
         <sname>JX</sname>
    </province>
    <province id="37">
        <name>山东省</name>
         <sname>SD</sname>
    </province>
    <province id="41">
        <name>河南省</name>
         <sname>HA</sname>
    </province>
    <province id="42">
        <name>湖北省</name>
         <sname>HB</sname>
    </province>
    <province id="43">
        <name>湖南省</name>
         <sname>HN</sname>
    </province>
    <province id="44">
        <name>广东省</name>
         <sname>GD</sname>
    </province>
    <province id="45">
        <name>广西壮族自治区</name>
         <sname>GX</sname>
    </province>
    <province id="46">
        <name>海南省</name>
         <sname>HI</sname>
    </province>
    <province id="50">
        <name>重庆市</name>
         <sname>CQ</sname>
    </province>
    <province id="51">
        <name>四川省</name>
         <sname>SC</sname>
    </province>
    <province id="52">
        <name>贵州省</name>
         <sname>GZ</sname>
    </province>
    <province id="53">
        <name>云南省</name>
         <sname>YN</sname>
    </province>
    <province id="54">
        <name>西藏自治区</name>
         <sname>XZ</sname>
    </province>
    <province id="61">
        <name>陕西省</name>
         <sname>SN</sname>
    </province>
    <province id="62">
        <name>甘肃省</name>
         <sname>GS</sname>
    </province>
    <province id="63">
        <name>青海省</name>
         <sname>QH</sname>
    </province>
    <province id="64">
        <name>宁夏回族自治区</name>
         <sname>NX</sname>
    </province>
    <province id="65">
        <name>新疆维吾尔自治区</name>
         <sname>XJ</sname>
    </province>
</provinces>

 

posted @ 2014-05-14 10:31  dowa235  阅读(470)  评论(0)    收藏  举报