Xpath
Ở ví dụ trên biểu diễn nội dung cấu trúc thư mục trên ổ đĩa cứng C. Trên đĩa cứng muốn truy xuất đến một tập tin hay một thư mục nào đó trên ổ đĩa cứng C ta dùng đường dẫn.
Ví dụ: C:\Windows\Internet\data.xml là một đường dẫn tuyệt đối tử ổ đĩa gốc đến file data.xml.
Nếu bạn đang ở thư mục Windows, thì đường dẫn tương đối tham chiếu đến file dữ liệu data.xml là \Internet\data.xml
Nếu muốn lấy tất cả các file trong thư mục Internet ta có thể dùng kí tự đại diện /internet/*.xml.
Xpath Xpath là gì Bạn đã biết tài liệu XML được tổ chức dạng cây. Ví dụ: Webpage.html data.xml Xpath là gì? Ở ví dụ trên biểu diễn nội dung cấu trúc thư mục trên ổ đĩa cứng C. Trên đĩa cứng muốn truy xuất đến một tập tin hay một thư mục nào đó trên ổ đĩa cứng C ta dùng đường dẫn. Ví dụ: C:\Windows\Internet\data.xml là một đường dẫn tuyệt đối tử ổ đĩa gốc đến file data.xml. Nếu bạn đang ở thư mục Windows, thì đường dẫn tương đối tham chiếu đến file dữ liệu data.xml là \Internet\data.xml Nếu muốn lấy tất cả các file trong thư mục Internet ta có thể dùng kí tự đại diện /internet/*.xml. Xpath là gì? Trong tài liệu XML, có thể dùng khái niệm tương tự như trong hệ thống file của hệ điều hành thông qua Xpath. Tài liệu XML luôn có phần tử gốc (root). Ví dụ là phần tử gốc. Mọi phần tử con đều nằm trong phần tử gốc. Xpath định nghỉa phần tử gốc là kí tự /. Tham chiếu đến một nút dữ liệu trong tài liệu XML, bạn có thể chỉ đường dẫn tương tự như đường dẫn thư mục. Xpath và tham chiếu đường dẫn Đường dẫn tuyệt đối: nếu đường dẫn bắt đầu bằng / thì có nghĩa đây là đường dẫn tuyệt đối bắt đầu từ phần tử gốc. Ví dụ: ta có tài liệu như sau: Xpath: /AAA kết quả phần tử AAA được chọn. Xpath: /AAA/CCC kết quả tất cả những phần tử CCC là con của phần tử AAA được chọn. Xpath: /AAA/DDD/BBB kết quả chọn tất cả những phần tử BBB là con của /AAA/DDD Xpath và các tham chiếu đường dẫn Đường dẫn tổng thể: bạn sử dụng chuỗi kí tự // để tham chiếu đến tất cả các phần tử trong tài liệu Ví dụ: Xpath: //BBB kết quả chọn tất cả các phần tử BBB trong tài liệu. Xpath: //DDD/BBB kết quả chọn tất cả những phần tử BBB là con của phần tử DDD. Xpath và các tham chiếu đường dẫn Chọn phần tử bằng kí tự đại diện: kí tự đại diện * dùng chọn tất cả các phần tử cùng thỏa mãn đường dẫn chỉ định. Ví dụ: Xpath: /AAA/CCC/DDD/* kết quả chọn tất cả các phần tử có đường dẫn /AAA/CCC/DDD Xpath /*/*/*/BBB kết quả là chọn những phần tử BBB nằm ở cấp thứ 3. Xpath: //* chọn tất cả phần tử trong tài liệu Xpath và các tham chiếu đường dẫn Chọn các phần tử theo vị trí bằng ngoặc []: bạn có thể dùng ngoặc vuông [] để chỉ định vị trí của một phần tử XML cần chọn. Ví dụ: Xpath: /AAA/BBB[1]: chọn phần tử BBB đầu tiên trong nhánh AAA. Xpath: /AAA/BBB[last()]: chỉ ra phần tử BBB cuối cùng trong nhánh AAA. Xpath và các tham chiếu đường dẫn Chọn thuộc tính của một phần tử trong tài liệu: dùng kí tự @ để chọn hay chỉ đường dẫn đến một thuộc tính bên trong phần tử XML. Ví dụ: ta có tài liệu sau: Xpath: //@id: chọn tất cả các phần tử có thuộc tính mang tên id. Xpath: //BBB[@id]: chọn tất cả các phần tử BBBcó thuộc tính mang tên id Xpath: //BBB[@name]: chọn tất cả thuộc tính name của phần tử BBB Xpath: //BBB[@*]: chọn tất cả các phần tử BBB có khai báo thuộc tính. Xpath: //BBB[not(@*)]: chọn tất cả các phần tử BBB không có khai báo thuộc tính Xpath và các tham chiếu đường dẫn Chọn phần tử trong tài liệu dựa trên số đếm: dùng hàm count() để xác định tiêu chuẩn lựa chọn dựa vào tổng số phần tử có mặt trong tài liệu. Ví dụ: Xpath: //*[count(BBB)=2]: chọn tất cả các phần tử có chứa 2 phần tử con BBB Xpath: //*[count(*)=2]: chọn tất cả các phần tử có 2 phần tử con. Xpath và các tham chiếu đường dẫn Chọn phần tử dựa trên tên của phần tử: có thể dựa trên tên của phần tử để lọc ra các phần tử cần chọn. Ví dụ: Xpath: //*[name()=‘BBB’]: chọn các phần tử BBB trong tài liệu. Xpath: //*[starts-with(name(), ‘B’)]: chọn tất cả các phần tử có tên bắt đầu bằng chữ B Xpath: //*[contains(name(), ‘C’)]: chọn các phần tử mà tên có chứa kí tự C. Xpath và các tham chiếu đường dẫn Chọn phần tử dựa vào chiều dài thẻ: hàm string-length() trả về chiều dài của tên thẻ, dùng hàm này để làm tiêu chuẩn chọn. Ví dụ: Xpath: //*[string-length(name())=3]: chọn tất cả các phần tử mà tên có chiều dài bằng 3. Xpath: //*[string-length(name())<3]: chọn tất cả các phần tử mà tên có chiều dài bé hơn 3. Xpath và các tham chiếu đường dẫn Chọn nhóm các phần tử dựa trên điều kiện logic: có thể kết hợp nhiều lựa chọn hay đường dẫn Xpath với nhau trong qua phép kết hợp bằng toán tử |. Ví dụ: Xpath: //CCC | //BBB Xpath: //AAA/EEE | //BBB Xpath và các tham chiếu đường dẫn Chỉ định phần tử con trong đường dẫn: có thể sử dụng child để chỉ định chọn phần tử chứa phần tử con. Ví dụ: Xpath: /AAA tương đương //child::AAA: chọn tất cả các phần tử AAA bắt đầu từ gốc. Xpath: /AAA/BBB tương đương /child::AAA/child::BBB tương đương /child::AAA/BBB Xpath và các tham chiếu đường dẫn Chọn phần tử con: toán tử descendant dùng để chọn các phần tử con. Ví dụ: Xpath: /descendant::* :chọn tất cả các phần tử là con của phần tử gốc. Xpath: /AAA/BBB/descendant::* : chọn tất cả các phần tử con của /AAA/BBB Xpath: //CCC/descendant::* : chọn mọi phần tử là con của phần tử CCC Xpath: //CCC/descendant::DDD : tìm phần tử DDD là con của CCC Xpath và các tham chiếu đường dẫn Chọn phần tử cha: dùng toán tử parent để chọn một phần tử là cha (một cấp) của một phần tử chỉ định. Ví dụ: //DDD/parent::* : chọn phần tử là cha của phần tử DDD Chọn các phần tử cha: dùng toán tử ancestor để chọn các phần tử trên phần tử chỉ định 1 hay nhiều cấp. Xpath và các tham chiếu đường dẫn Chọn các phần tử cùng cấp kế tiếp: dùng toán tử following-sibling để yêu cầu chọn chọn các phần tử cùng cấp. Ví dụ: Xpath: /AAA/BBB/following-sibling::*: chọn các phần tử cùng cấp tiếp theo sau /AAA/BBB Xpath: //CCC/following-sibling::*: chọn các mọi phần tử trong tài liệu cùng cấp và theo sau phần tử CCC Xpath và các đường dẫn tham chiếu Dùng từ khóa preceding-sibling để chọn các phần tử cùng cấp trước phần tử chỉ định. Dùng từ khóa following để chọn các phần tử theo sau phần tử chỉ. Dùng từ khóa preceding để chọn tất cả các phần tử đứng trước phần tử chỉ định. Chọn phần tử cấp dưới và phần tử chỉ định dùng từ khóa descendant-or-self. Chọn phần tử cấp trên và phần tử chỉ định dùng từ khóa ancestor-or-self.
File đính kèm:
- Xpath.ppt