dom4j解析xml

直接上代码

maven依赖:

<dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>

xml示例:

<result>
    <code>12345</code>
    <data>
        <user>
            <username>admin</username>
            <password>admin123</password>
            <realname>管理员</realname>
        </user>
        <user>
            <username>test</username>
            <password>test123</password>
            <realname>测试专员</realname>
        </user>
    </data>
</result>

解析代码:

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

import java.util.List;

/**
 * 功能描述:
 *
 * @author liuchaoyong
 * @version 1.0
 * @date 2019-04-26 12:05
 */
public class Test {

    public static void main(String[] args) throws DocumentException {
        String message = "<result>\n" +
                "    <code>12345</code>\n" +
                "    <data>\n" +
                "        <user>\n" +
                "            <username>admin</username>\n" +
                "            <password>admin123</password>\n" +
                "            <realname>管理员</realname>\n" +
                "        </user>\n" +
                "        <user>\n" +
                "            <username>test</username>\n" +
                "            <password>test123</password>\n" +
                "            <realname>测试专员</realname>\n" +
                "        </user>\n" +
                "    </data>\n" +
                "</result>";
        //将xml字符串解析为Document对象
        Document document = DocumentHelper.parseText(message);
        //获取根结点
        Element result = document.getRootElement();
        //获取result节点下code的值
        String code = result.elementText("code");
        System.out.println("code >>>> " + code);
        //获取data节点
        Element data = result.element("data");
        //获取data节点下所有名为user的节点
        List<Element> userList = data.elements("user");
        userList.forEach(user -> {
            String username = user.elementText("username");
            String password = user.elementText("password");
            String realname = user.elementText("realname");
            System.out.println("username >>>> " + username);
            System.out.println("password >>>> " + password);
            System.out.println("realname >>>> " + realname);
        });
    }

}

输出:

code >>>> 12345
username >>>> admin
password >>>> admin123
realname >>>> 管理员
username >>>> test
password >>>> test123
realname >>>> 测试专员

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章