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

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

        TextMessageModel textMessageModel = new TextMessageModel();
        for (Element element : list) {
            if (Constant.CONTENT.equals(element.getName())) {
                textMessageModel.setContent(element.getTextTrim());
            }

            if (Constant.MSG_ID.equals(element.getName())) {
                textMessageModel.setMessageID(element.getTextTrim());
            }

            if (Constant.TO_USER_NAME.equals(element.getName())) {
                textMessageModel.setToUserName(element.getTextTrim());
            }

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

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