/** * Copyright (c) 2011-2014, James Zhan 詹波 (jfinal@126.com). * * Licensed under the Apache License, Version 2.0 (the "License"); */ package com.jfinal.weixin.sdk.msg.out; import com.jfinal.weixin.sdk.msg.in.InMsg; import java.util.ArrayList; import java.util.List; /** *
    回复图文消息
 <xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName>
 <CreateTime>12345678</CreateTime>
 <MsgType><![CDATA[news]]></MsgType>
 <ArticleCount>2</ArticleCount>
 <Articles>
 <item>
 <Title><![CDATA[title1]]></Title>
 <Description><![CDATA[description1]]></Description>
 <PicUrl><![CDATA[picurl]]></PicUrl>
 <Url><![CDATA[url]]></Url>
 </item>

 <item>
 <Title><![CDATA[title]]></Title>
 <Description><![CDATA[description]]></Description>
 <PicUrl><![CDATA[picurl]]></PicUrl>
 <Url><![CDATA[url]]></Url>
 </item>
 </Articles>
 </xml>
 
*/ @SuppressWarnings("serial") public class OutNewsMsg extends OutMsg { private List articles = new ArrayList(); public OutNewsMsg() { this.msgType = "news"; } public OutNewsMsg(InMsg inMsg) { super(inMsg); this.msgType = "news"; } @Override protected void subXml(StringBuilder sb) { sb.append("").append(getArticleCount()).append("\n"); sb.append("\n"); for (News x : articles) { sb.append("\n"); sb.append("<![CDATA[").append(nullToBlank(x.getTitle())).append("]]>\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); } sb.append("\n"); } public Integer getArticleCount() { return articles.size(); } public List getArticles() { return articles; } public void setArticles(List articles) { if (articles != null) this.articles = articles; } public OutNewsMsg addNews(List articles) { if (articles != null) this.articles.addAll(articles); return this; } public OutNewsMsg addNews(String title, String description, String picUrl, String url) { this.articles.add(new News(title, description, picUrl, url)); return this; } public OutNewsMsg addNews(News news) { this.articles.add(news); return this; } }