Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Khoa Công ngh Thông Tin – ĐH Đà L tệ ạ Xpath Khoa Công nghệ Thông Tin – ĐH Đà Lạt Xpath là gì Bạn đã biết tài liệu XML được tổ chức dạng cây. Ví dụ: <?xml version="1.0" encoding="utf-8" ?> <C> <Windows> <System> <Driver/> </System> <Intenet> Webpage.html data.xml </Intenet> </Windows> <MyDocument/> <ProgramFiles> <WinZip/> <Photoshop/> </ProgramFiles> </C> Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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. Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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ụ <C> </C> 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. Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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: <AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> </DDD> <CCC/> </AAA> 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 Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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. Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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 Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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. Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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: <AAA> <BBB id=“b1”/> <CCC/> <BBB id=“b2”/> <BBB name=“bbb”/> <DDD> <BBB id=“b3”/> </DDD> <CCC/> </AAA> 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 Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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. [...]... 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 Khoa Công nghệ Thông Tin – ĐH Đà Lạt 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... ĐH Đà Lạt 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()) . 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 Khoa Công nghệ Thông Tin – ĐH Đà Lạt Xpath và các tham chiếu. Thông Tin – ĐH Đà Lạt 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. 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ả