//推送图文消息 String title=""; ArrayList<TextAndPicContentVo> articles=new ArrayList(); NewsVo news=new NewsVo(); StringReader read = new StringReader(xml); InputSource source = new InputSource(read); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(source); Element root = doc.getRootElement();//获取根节点也就<xml> List<Element> nodes = root.getChildren(); for(int i=0;i<nodes.size();i++){ Element e=nodes.get(i); if("Articles".equals(e.getName())){//找到articles结点 List<Element> newsinfo=e.getChildren();//得到articles下的子结点List for(Element t:newsinfo){ List<Element> weixinInfos = t.getChildren();//得到item结点下的子元素list Map<String, Object> map = new HashMap<String, Object>(); //将元素name作为key,value作为map的value,方便根据标签名获取便签内容 for(Element infos:weixinInfos){//item下的子元素封装进map map.put(infos.getName(), infos.getValue()); } TextAndPicContentVo article=new TextAndPicContentVo(); title=(String) map.get("Title"); article.setTitle(title); article.setDescription((String)map.get("Description")); article.setPicurl((String)map.get("Picurl")); article.setUrl((String)map.get("Url")); articles.add(article); } for(Openid openid:openidList){//封装,批量推送消息 SendTextAndPicVo weixinVo=new SendTextAndPicVo(); news.setArticles(articles); weixinVo.setMsgtype("news"); weixinVo.setNews(news); weixinVo.setTouser(openid.getOpenid()); returnInfo=weixinUtil.sendTextandPicMsg(weixinVo,access_token); }
前两周开发了微信公众好后台管理系统,自己负责是粉丝管理模块,一切还算顺利,在发送客服消息(图文消息)的时候要解析数据库表里内容,里面存储是xml格式的,然而请求微信图文发送api用到的请求json里title,url,picurl这些信息都在xml里,必须解析封装成一个发送对象(该对象仅用来转换成json请求)。特此记录下核心代码,感觉还有更好的方法。用的jdom解析
ps:xml代码。
<xml>
<MsgType><![CDATA[news]]></MsgType><ArticleCount>2</ArticleCount><Articles>
<item>
<Picurl><![CDATA[https://mp.weixin.qq.com/cgi-bin/getimgdata?token=424356498&msgid=&mode=large&source=file&fileId=10000029&ow=-1]]></Picurl>
<Title><![CDATA[图文消息标题1]]></Title>
<Url><![CDATA[www.baidu.com]]></Url>
<Description><![CDATA[图文消息描述1]]></Description>
</item>
<item>
<Picurl><![CDATA[https://mp.weixin.qq.com/cgi-bin/getimgdata?token=424356498&msgid=&mode=large&source=file&fileId=10000029&ow=-1]]></Picurl>
<Title><![CDATA[图文消息标题2]]></Title>
<Url><![CDATA[www.baidu.com2]]></Url>
<Description><![CDATA[图文消息描述2]]></Description>
</item>
</Articles>
</xml>
相关推荐
XML解析总结归纳 总结了java常用的xml解析常用
doc:解析原理和总结 txt:mime类型 zip:HelloXml解析例子(运行环境3rd mr,carbide 1.3/2.0)
四中最常用的XML文件解析总结.doc
本文档详细的给出了XML的介绍和XML解析的实例。包括DOM4J和SAX解析,节点的名和值得读取,属性的读取。生成XML文件等
XML解析技术分析与总结. 不错的指导书和总结,也是对自己的理解的总结。
Ajax 解析XML+json总结,很好的资源哦。欢迎大家来下载。
JAVASCRIPT解析XML的方法总结.pdf
文档详细介绍了关于AndroidXML解析如何使用 总结详细 一看即懂 !
个人这几天对Xml各种解析方式学习总结(个人复习用)
SAX 解析: 这是苹果系统自带的xml解析方法,特点就是:逐行解析, 这样方式效率低,但是可以快速的判断定位到哪一行出错。 DOM解析:全局解析,效率高,但是不容易定位到出错的位置。 3.个人总结 ...
xml基本知识,两种常见的xml约束,三种常见的xml解析方式
通过使用tinyxml、cmarkup分别介绍xml文件解析方法,附件也有完整代码可以解析所有不同情况下的节点值,附件也有完整的注释和动态解析代码。
QT的程序,关于XML解析的DOM和SAX的方法总结
总结android四种解析文件方法 SAXParser Document XMLResource VTDGen
包括android代码实例以及个人对Dom解析xml文件的总结文档。
本人学习的xml解析的一个总结。主要是解析xml方法的汇总。
JavaScript解析XML的方法总结.
本文通过实例详细分析了4种XML解析技术和 实现过程.对四种技术进行了比较分析,归纳总结了应用系统设计中选取合适的XML解析技术的原则
web.xml配置解析[总结].pdf
XML解析的三种方法,总结的很全面的哦,资源很好