dom4j解析xml字符串实例-01

来源:互联网 发布:国际刑警 知乎 编辑:程序博客网 时间:2024/05/22 01:36

dom4j解析xml例子


import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Node;


public class test {
    /**
     * 取单个节点文本
     * @param doc
     * @param tag
     * @return
     */
    public static String getText(Document doc, String tag) {
        Node node = doc.selectSingleNode("//" + tag);
        if (node == null) {
            return null;
        }
        if (node.getText() == null) {
            return null;
        }
        String res = node.getText().trim();
        return res;
    }
    /**
     * 解析通用响应头
     *
     * @param StrResponse
     * @return
     * @throws Exception
     */
    public static void parseCommonMsgResponseHeader(Document doc) throws Exception {
        System.out.println("name:"+getText(doc, "name"));
        System.out.println("version:"+getText(doc, "version"));
        System.out.println("times:"+getText(doc, "times"));

    }
    /**
     * 解析方法
     * @param strReponse
     * @throws Exception
     */
    public static void parse(String strReponse) throws Exception {
        Document doc = DocumentHelper.parseText(strReponse);
        System.out.println("doc:"+doc.asXML());//查询转换后的xml
        test.parseCommonMsgResponseHeader(doc);
    }
    /**
     * 测试类
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String responseXml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
        "<test>" +
        "<name>userloginresp</name>" +
        "<version>1.0.0</version>" +
        "<times>20120728234226</times>" +
        "</test>";
        test.parse(responseXml);
    }
}


原创粉丝点击