public SubscribeEventModel buildFromXml(String xml) throws DocumentException {
        if (null == xml || xml.trim().isEmpty()) return null;

        List<Element> list = WechatUtils.getXmlRootElements(xml);

        SubscribeEventModel subscribeModel = new SubscribeEventModel();
        for (Element element : list) {
            if (Constant.EVENT.equals(element.getName())) {
                subscribeModel.setEvent(element.getTextTrim());
            }
            if (Constant.TO_USER_NAME.equals(element.getName())) {
                subscribeModel.setToUserName(element.getTextTrim());
            }

            if (Constant.FROM_USER_NAME.equals(element.getName())) {
                subscribeModel.setFromUserName(element.getTextTrim());
            }

            if (Constant.CREATE_TIME.equals(element.getName())) {
                subscribeModel.setCreateTime(WechatUtils.formatTime(element.getTextTrim()));
            }
        }
        return subscribeModel;
    }