从xml中提取所有的文本

来源:互联网 发布:电驴连不上kad网络 编辑:程序博客网 时间:2024/05/16 07:16

今天遇到一个需求:从xml中提取所有的文本(或者说是 xml去标签)。 写了一会儿,觉得可能别个兄弟也会遇到,就拿出来,看这样妥不妥~

(用dom4j进行解析的)

/** * 提取分散在xml串中的文本 * @param xml 如:"<a>这<span>是<span>我</span><span>的</span>标题</span>!</a>!!" => 这是我的标题!!! * @return */private String getTextFromXml(String xml) {Document doc;try {//保证有一个根节点  所以加了一个warp节点doc = DocumentHelper.parseText("<warp>"+xml+"</warp>");Element root = doc.getRootElement();clearElement(root);return root.getTextTrim();} catch (DocumentException e) {e.printStackTrace();}return null;}/** * 把 所有子节点 删除掉,但保留节点下面的所有内容  * @param ele * @return */private Text clearElement(Element ele) {List elepar = ele.content();Object tempObj;for (int i = 0; i < elepar.size(); i++) {tempObj = elepar.get(i);if (tempObj instanceof Element) {elepar.set(i, clearElement((Element) tempObj));}}return elepar.size() > 0 ? DocumentHelper.createText(ele.getTextTrim()) : DocumentHelper.createText("") ;}

原创粉丝点击