使用dom4j解析xml格式字符串,获取标签属性和内容

来源:互联网 发布:淘宝自动分销怎么取消 编辑:程序博客网 时间:2024/06/11 01:36
本文解析XML格式字符串引入的是: dom4j-1.6.1.jar

具体代码如下:

/**
     * 解析xml字符串,获取各项属性内容
     * readXML方法描述:
     *
     * @author : sunyan
     * @createTime : 2016-4-26 下午4:37:50
     */
    private static void readXML() {
        try {
            String xmlResult = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><users><user id=\"10001\"><name>张三</name><role>群主</role>&lt;sex>男</sex><content>今天天气真不错!</content><time>2016-04-25 16:43:28</time></user><user id=\"10002\"> <name>李四</name><role>管理员</role><sex>男</sex><content>http://192.168.0.190:9999/beike/data/b3217f668.png</content><time>2016-04-25 16:45:08</time></user></users>";
            // 将xml格式字符串转化为DOM对象
            org.dom4j.Document document = DocumentHelper.parseText(xmlResult);
            // 获取根结点对象
            Element rootElement = document.getRootElement();
            // 循环根节点,获取其子节点
            for (Iterator iter = rootElement.elementIterator(); iter.hasNext();) {
                Element element = (Element) iter.next(); // 获取标签对象
                // 获取该标签对象的属性
                Attribute attr = element.attribute("id");
                if (null != attr) {
                    String attrVal = attr.getValue();
                    String attrName = attr.getName();
                    System.out.println(attrName + ": " + attrVal);
                }
                // 循环第一层节点,获取其子节点
                for (Iterator iterInner = element.elementIterator(); iterInner
                        .hasNext();) {
                    // 获取标签对象
                    Element elementOption = (Element) iterInner.next();
                    // 获取该标签对象的名称
                    String tagName = elementOption.getName();
                    // 获取该标签对象的内容
                    String tagContent = elementOption.getTextTrim();
                    // 输出内容
                    System.out.print(tagName + ": " + tagContent + "  ");
                }
                System.out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
0 0
原创粉丝点击