Có gì mới?

Welcome to Tạp Chí CNTT & Truyền Thông

Join us now to get access to all our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, and so, so much more. It's also quick and totally free, so what are you waiting for?

Xpath (XML Path Language) – Phần 1

nguyenac

Administrator
Staff member
Tham gia
18/11/08
Bài viết
23,123
Điểm tương tác
6
Điểm
38
Website
tapchiict.com
Để đáp ứng điều này người ta thiết kế ra một ngôn ngữ XPath. XPath có một vai trò quan trọng trong việc trao đổi dữ liệu giữa các máy tính hay giữa các chương trình ứng dụng vì nó cho chúng ta sàng lọc các dữ liệu mà ta mong muốn.

1/- Giới thiệu
Trước khi đi vào phần này chúng ta hãy xem lại một ví dụ về tài liệu XML:

Với ví dụ này khi chúng ta mở với trình duyệt IE chúng ta sẽ được kết quả sau:

Như vậy chúng ta thấy trên trình duyệt sẽ hiển thị y nguyên tài liệu gốc. Vậy làm cách nào để chúng ta có thể đi lại trên các phần tử của tài liệu XML để trích ra những dữ liệu mà chúng ta cần thiết.

Để đáp ứng điều này người ta thiết kế ra một ngôn ngữ XPath. XPath có một vai trò quan trọng trong việc trao đổi dữ liệu giữa các máy tính hay giữa các chương trình ứng dụng vì nó cho chúng ta sàng lọc các dữ liệu mà ta mong muốn.

XPath xem XML như một cây, với ví dụ trên sẽ được biểu diễn dưới dạng cây sau:
Hình 2.2
Bây giờ chúng ta hãy học cách đi qua các nút trong tài liệu XML.

2/- Cú pháp của XPath
2.1/- Đường dẫn tuyệt đối
Nếu đường dẫn XPath bắt đầu bởi dấu / thì có nghĩa đây là một đường dẫn tuyệt đối bắt đầu từ phần tử gốc.

Trong hình2.2 ở trên, bây giờ chúng ta muốn chọn nút Order ta viết như sau :
Cú pháp nguyên: /child::Order
Cú pháp tắt: /Order
Đi ra nhánh con Custumer bằng XPath như sau:
Cú pháp nguyên: /child::Order/child::Custumer
Cú pháp tắt: /Order/Custumer

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.
Để lấy thuộc tính OrderNo của nút Order ta dùng cú pháp XPath như sau:
Cú pháp nguyên: /child::Order/Attribute::OrderNo
Cú pháp tắt: /Order/@OrderNo

2.2/- Đường dẫn tương đối
Khi chúng ta muốn trích một phần tử nào đó mà chúng ta chỉ biết tên của phần tử này chứ chúng ta không biết là phần tử này nằm ở vị trí nào thì chúng ta có thể dùng đường dẫn tương đối để làm điểu này. Chúng ta dùng dấu // để chỉ cho trình phân tích biết đây là đường dẫn tương đối.

Ví dụ, để trích các phần tử có tên là Product chúng ta viết như sau:
Cú pháp nguyên:
XML:
//child::Product
Cú pháp viết tắt: //Product

Khi chúng ta viết như thế này thì khi đi qua trình phân tích sẽ truy tìm đến các phần tử có tên là Product

2.3/- Chọn các phần tử bằng ký tự đại diện

Để 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ử Order ta viết như sau: Cú pháp nguyên: /child::Order/child::*
Cú pháp tắt: /Order/*

2.4/- Chọn các phần tử theo điều kiện
Để 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ử Product có thuộc tính UnitPrice > 70 ta viết như sau:
Cú pháp nguyên:
XML:
//child::Product[Attribute::UnitPrice>70]
Cú pháp tắt: //Product[@UnitPrice>70]

Ví dụ, để lấy những phần tử Item có phần tử con là Product và có thuộc tính ProductID=1 chúng ta viết như sau:

Cú pháp nguyên:
XML:
//child::Item[child::Product/Attribute::ProductID=1]
Cú pháp tắt: //Item[Product/@ProductID=1]

2.5/- Một số hàm thường dùng
2.6/- Một số toán tử thường dùng
 

Facebook Comment

Similar threads

Nếu bạn đang xem trang này trên PC chạy Windows, thì bạn đã dựa vào một số quy trình hệ thống để đưa bạn đến đây. Ở trên cùng là nhân hệ thống Windows (ntoskrnl.exe) cho phép phần mềm tương tác với phần cứng PC của bạn. Các ứng dụng cấp thấp hơn như Chrome (chrome.exe) sử dụng nhân để hiển thị...
Trả lời
0
Xem
492
Khi mở ứng dụng camera trên điện thoại và muốn chụp một chủ thể ở xa, chúng ta thường nhấp vào một trong những mức zoom xuất hiện trên màn hình. Sau khi bố cục khung hình, chúng ta nhấn nút chụp và tiếp tục với những công việc khác. Nhưng cuối cùng, khi kiểm tra lại bức ảnh, nó có chất lượng...
Trả lời
0
Xem
384
Nếu như Tập đoàn VNPT là tập đoàn công nghệ đi đầu trong lĩnh vực Viễn thông - CNTT và tiên phong trong chuyển đổi số thì BIDV là một trong những định chế tài chính lâu đời nhất của lĩnh vực tài chính ngân hàng tại Việt Nam. Những điểm nổi bật và cũng là lợi thế đó của hai bên đã mở ra nhiều...
Trả lời
0
Xem
708
Chỉ riêng 6 tháng cuối năm 2020, số công nghệ chuyển đổi số tạo ra đã nhiều hơn so với thập kỷ trước, các công nghệ số đang thay đổi liên tục với tốc độ nhanh chóng, đòi hỏi các doanh nghiệp phải nghiên cứu và áp dụng các mô hình mới. Có thể nói, sự xuất hiện của đại dịch Covid–19 và sự bùng nổ...
Trả lời
0
Xem
451
Ngày 25/6, nhóm Lion Group bất ngờ gửi “tâm thư chia tay” đến các nhà đầu tư để thông báo đóng cửa sàn giao dịch FXTradingmarkets của mình, đồng thời hứa hẹn sớm quay trở lại. Trong "tâm thư", các thành viên đứng đầu nhóm Lion Group dùng nhiều từ ngữ mùi mẫn để khẳng định "thành tựu" của mình...
Trả lời
0
Xem
267

Latest resources

Bên trên Bottom