Đồ án Xpath
Trang 1Sinh viên thực hiện:
- Hồ Ngọc Triển
- Lê Chánh Thi
- Phan Trần Thanh Vân
- Bùi Đức Thịnh
Giảng viên hướng dẫn:
Phan Thị Phương Anh
Trường CĐ CNTT Hữu Nghị Việt Hàn
Khoa Khoa học máy tính
Trang 2<Khoa makhoa="khmt" tenkhoa="Khoa Khoa hoc may tinh" >
<BoMon Mabomon="thdc">Tin hoc dai cuong</BoMon>
<BoMon Mabomon="ltnnlt">Ly thuyet ngon ngu lap trinh</BoMon>
<quanly>
<truongkhoa>Nguyen Van A</truongkhoa>
</quanly>
</Khoa>
<Khoa makhoa="tmdt" tenkhoa="Khoa Thuong mai dien tu" >
<BoMon Mabomon="c#">C#</BoMon>
<BoMon Mabomon="aspx">Lap trinh web aspx</BoMon>
</Khoa>
</VietHan>
1 Giới thiệu
Trang 4VietHan (nút gốc)
Khoa
Makhoa (khmt) Tenkhoa (Khoa hoc may tinh)
BoMon (Tin hoc dai cuong)
BoMon (Ly thuyet nn lap trinh)
Trang 6- Trong trường hợp muốn đi đến thuộc tính của nút thì chúng ta
cần phải chỉ rõ từ khóa Attribute trong cú pháp nguyên hoặc @
trong cú pháp tắt
Ví dụ: Để lấy giá trị của thuộc tính makhoa của nút Khoa ta dùng
cú pháp XPath như sau:
Trang 7Chúng ta dùng dấu // để chỉ cho trình phân tích biết đây là đường dẫn tương đối
- Để trích các phần tử có tên là BoMon chúng ta viết như sau:
Trang 8Để chọn tất cả các phần tử con của một phần tử nào đó chúng ta dùng ký tự đại diện *.
Ví dụ, để lấy tất cả các phần tử con của phần tử VietHan ta viết như sau:
Trang 9- Để lấy các phần tử theo một điều kiện nào đó chúng ta dùng dấu ngoặc vuông([ ])
Ví dụ, để lấy mọi phần tử BoMon có thuộc tính mabomon
= “c#” ta viết như sau:
Trang 10Tên hàm Ý nghĩa Ví dụ
count() Hàm lấy tổng số nút con của một nút nào đó //Khoa[count(*)=2]Chọn tất cả các phần tử Khoa có số nút con là 2
name() Lấy tên của phần tử //Khoa/*[name()=Khoa]Chọn tất cả các phần tử con của nút gốc có tên là
Khoa
not() Hàm phủ định //Khoa/*[not(@*)]Chọn tất cả các phần tử con của VietHan không
chứa thuộc tính nào.
normalize-space(str) Hàm loại bỏ khoảng trắng //Khoa Normalize-space(@makhoa=”tmdt”)]Chọn tất cả các phần tử con của Khoa có thuộc tính
makhoa=’tmdt’ không phân biệt chữ hoa thường
2.5 Một số hàm thường dùng
Trang 11string-length(str) Hàm lấy chiều dài chuổi
//Khoa/*[string-length(name())=4]
Chọn tất cả các phần tử con của Khoa có độ dài tên là 4 ký tự
Chọn phần tử Khoa có vị trí là 3
Chọn phần tử Khoa cuối cùng
Trang 12descendant Chọn phần tử con của phần tử chỉ định /VietHan/descendant::*
Chọn tất cả các phần tử con của VietHan
Chọn phần tử cha của phần tử Khoa
following-sibling Chọn phần tử cùng cấp kế tiếp //Khoa/Following-sibling::*
Chọn các phần tử cùng cấp với Khoa
preceding-sibling Chọn phần tử cùng cấp trước đó //Khoa/Preceding-sibling::*