中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

雁過請留痕...
代碼改變世界

dom4j 簡(jian)單使用(yong)

2018-04-23 14:42  xiashengwang  閱讀(776)  評論(0)    收藏  舉報

1,需要(yao)用到dom4j的(de)(de)jar包。為(wei)了打開xml方(fang)便,設計一(yi)個簡單(dan)的(de)(de)封裝類。

package cn.com.gtmc.glaf2.util;

import java.io.File;
import java.net.URISyntaxException;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;

public class XmlUtil {
    /**
     * @param path
     *            相對路徑,相對于(yu)classes文件夾
     * @return Document
     *            org.dom4j.Document
     * @throws DocumentException
     */
    public static Document getDocument(String path) throws DocumentException, URISyntaxException {
        String filePath = XmlUtil.class.getClassLoader().getResource("").toURI().getPath() + path;

        SAXReader reader = new SAXReader();
        Document doc = reader.read(new File(filePath));
        return doc;
    }

}

2,使用的例子

<?xml version="1.0" encoding="UTF-8"?>
<workbook>
    <worksheet index="0">
        <cell src="Supplier.remark" target="B3" description="備注" />
    </worksheet>
</workbook>
        try {
            Supplier obj = (Supplier)params.get("obj");
            
            Document doc = XmlUtil.getDocument("excel\\supplier-import.xml");
            Element root = doc.getRootElement();
            
            List nodes = root.selectNodes("worksheet/cell");
            Iterator it = nodes.iterator();
            while(it.hasNext()) {
               Element ele = (Element)it.next();
               String src = ele.attributeValue("src");
               String cellTarget = ele.attributeValue("target");
               if(src != null && !"".equals(src)) {
                   String[] splits = src.split("\\.");
                   String className = splits[0];
                   String filedName = splits[1];
                                   //。。。
               }
            }                

        } catch (Exception e) {
            LOG.error("", e);
        }

特別要(yao)注意,上面(mian)的Element.selectNodes方法(fa),用到了XPath的語(yu)法(fa),dom4j.jar里面(mian)是沒有包(bao)含這個(ge)功(gong)能的,需(xu)要(yao)添加下(xia)面(mian)這個(ge)jar包(bao)(maven工程(cheng),非maven工程(cheng)需(xu)要(yao)自己去(qu)下(xia)載),不然(ran)會報(bao)錯。

        <!-- //mvnrepository.com/artifact/jaxen/jaxen -->
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.1.6</version>
        </dependency>