Digester基本用法

//对象转换成xml
public String createSiteConfig(Site site) {
        StringBuffer sb = new StringBuffer();
        sb.append("<?xml version=\"1.0\" encoding=\"GBK\"?>");
        sb.append("<site>");
        sb.append("<domain>").append(site.getDomain()).append("</domain>");

        sb.append("<nick>").append(site.getNick()).append("</nick>");

        sb.append("<keyWords>").append(site.getKeyWords()).append("</keyWords>");
        sb.append("<description>").append(site.getDescription()).append("</description>");
        sb.append("</site>");

        return sb.toString();
    }

    //xml转换成对象
    public Site getSiteConfig(String str) {

        Site site = null;

        Digester digester = new Digester();

        //把SiteConfig实例放入堆栈顶端,指针指向SiteConfig实例
        digester.addObjectCreate("site", Site.class);
        digester.addBeanPropertySetter("site/domain");
        digester.addBeanPropertySetter("site/nick");
        digester.addBeanPropertySetter("site/keyWords");
        digester.addBeanPropertySetter("site/description");
        try {
            site = (Site) digester.parse(new StringReader(str));

        } catch (Exception e) {
            throw new RuntimeException("Read Site Config File Error");

        }
        return site;

    }

猜你喜欢

转载自yonge812.iteye.com/blog/1233302