package weixin.popular.bean.xmlmessage; import java.util.ArrayList; import java.util.List; import weixin.popular.bean.message.message.Message; import weixin.popular.bean.message.message.NewsMessage; public class XMLNewsMessage extends XMLMessage { private List<Article> articles; /** * @param toUserName * toUserName * @param fromUserName * fromUserName * @param articles * articles */ public XMLNewsMessage(String toUserName, String fromUserName, List<Article> articles) { super(toUserName, fromUserName, "news"); this.articles = articles; } @Override public String subXML() { StringBuilder sb = new StringBuilder(); sb.append("<ArticleCount>" + articles.size() + "</ArticleCount>"); sb.append("<Articles>"); for (Article a : articles) { sb.append("<item>"); sb.append("<Title><![CDATA[" + (a.title == null ? "" : a.title) + "]]></Title>"); sb.append("<Description><![CDATA[" + (a.description == null ? "" : a.description) + "]]></Description>"); sb.append("<PicUrl><![CDATA[" + (a.picurl == null ? "" : a.picurl) + "]]></PicUrl>"); sb.append("<Url><![CDATA[" + (a.url == null ? "" : a.url) + "]]></Url>"); sb.append("</item>"); } sb.append("</Articles>"); return sb.toString(); } @Override public Message convert() { List<NewsMessage.Article> list = new ArrayList<>(); if (articles != null) { for (Article a : articles) { NewsMessage.Article item = new NewsMessage.Article(a.getTitle(), a.getDescription(), a.getUrl(), a.getPicurl()); list.add(item); } } return new NewsMessage(toUserName, list); } public static class Article { private String title; private String description; private String url; private String picurl; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getPicurl() { return picurl; } public void setPicurl(String picurl) { this.picurl = picurl; } } }