Thứ Bảy, 9 tháng 8, 2014

Apply XQuery

Đầu tiên ta khởi tạo một project với tên Applying XQuery.

Tạo ra một file xml với tên tomcat-users.xml như dưới đây:

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <user username="tomcat" password="tomcat" roles="tomcat"/>
    <user username="both" password="tomcat" roles="tomcat,role1"/>
    <user username="role1" password="tomcat" roles="role1"/>
    
    <user password="admin" role="manager-script,admin" username="admin"/>

</tomcat-users>

Trong hàm main ta viết các đoạn mã như dưới đây:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package applyxmlquery;

import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import nu.xom.Builder;
import nu.xom.Document;
import nu.xom.Nodes;
import nu.xom.ParsingException;
import nux.xom.xquery.XQuery;
import nux.xom.xquery.XQueryUtil;

/**
 *
 * @author Nguyen Minh An
 */
public class ApplyXMLQuery {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            Document document = new Builder().build(new File("D:\\NetBean\\ApplyXMLQuery\\src\\tomcat-users.xml"));
            String query = "//tomcat-users//user";
            Nodes nodes = XQueryUtil.xquery(document, query);
            for (int i = 0; i < nodes.size(); i++) {
                System.out.println("Username: " + nodes.get(i).toXML());
            }
        } catch (ParsingException | IOException ex) {
            Logger.getLogger(ApplyXMLQuery.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
}

Và kết quả:

run:
<user username="tomcat" password="tomcat" roles="tomcat" />
<user username="both" password="tomcat" roles="tomcat,role1" />
<user username="role1" password="tomcat" roles="role1" />
<user password="admin" role="manager-script,admin" username="admin" />
BUILD SUCCESSFUL (total time: 0 seconds)

Nhận xét:
- Không phải viết nhiều code.
- Câu lệnh truy vấn dễ dàng.
- Dễ hiểu trong việc đọc các dòng lệnh.
- Có thể truy vấn để lấy ra thông tin nhanh chóng


Không có nhận xét nào:

Đăng nhận xét