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 >>>> 測試專員

 

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