Giới thiệu về Xpath (XML Path Language) – Viblo

  • Báo cáo
  • Thêm vào series của tôi

Như các bạn đã biết XML là một ngôn ngữ tuyệt vời để mô tả và lưu trữ dữ liệu. Tuy nhiên với tốc độ phát triển của công nghệ thông tin, nhu cầu của các ứng dụng không chỉ dừng lại ở mức lưu trữ, các hệ thống cần trao đổi thông tin với nhau. Để trao đổi thông tin trong các tài liệu XML, người ta cần một chuẩn chung để truy xuất dữ liệu. Giải quyết vấn đề đó, XML Path Language (XPath) được sinh ra. XPath là một ngôn ngữ thiết kế ra với mục đích giúp cho ứng dụng có thể di chuyển bên trong XML document và truy xuất các giá trị cũng như thuộc tính của các elements. Để có thể tiếp cận được Xpath nhanh nhất, trước tiên bạn cần hiểu về những ngôn ngữ đặc tả giống như XML, HTML. Cấu trúc 1 tài liệu XML có thể hình dung như 1 cái cây với nhiều cành và nhánh nhỏ khác nhau. Tất cả các thành phần đó đuề được gọi là element. Giờ ta sẽ xem mối quan hệ giữa các element này trong Xpath như thế nào:

  • Parent: mỗi node (element, attribute) đều có một node parent. Ví dụ ở trên, node article là parent của các nodes id, author, title…
  • Children: mỗi node có thể có nhiều và cũng có thể không có node children nào. Ví dụ ở trên, node id là children của node article. Node id cũng có thể không có node children nào cả.
  • Siblings: là các nodes có chung node parent. Ví dụ như các nodes id, author, link …
  • Ancestors: là các nodes tổ tiên, bao gồm node parent và các nodes parent của parent. Ví dụ có thể xem node list là ancestor của node author.
  • Descending: là các nodes con cháu, bao gồm node children và các nodes children của children.

— Xpath xử dụng path expressions để di chuyển hay truy xuất thuộc tính trong các node của XML document.Biểu thức được đặc tả trong liệt kê sau:

Ví dụ ta có 1 XML document:

“` Harry Potter

29.99

Learning XML

39.95

Giờ ta muốn lấy ra tất cả các book element bằng biểu thức “//book” hay “/bookstore/book[price>35.00]” để lấy ra chỉ những cuốn sách nào có giá lớn hơn 35.00. — Xpath cung cấp 1 số function rất hữu ích:

  • Thao tác với chuỗi: concat(), substring(), contains(), substring-before(), substring-after(), translate(), normalize-space(), string-length()
  • Thao tác với số: sum(), round(), floor(), ceiling()
  • Lấy thông tin về vị trí: position(), last()
  • Chuyển đổi định dạng dữ liệu: string(), number(), boolean()
  • Lấy ra thuộc tính của 1 node: name(), local-name(), namespace-uri()

Sự mạnh mẽ và tiện dụng mà Xpath mang lại đã khiến cho nó trở nên phổ biến, được hỗ trợ trong nhiều ngôn ngữ như Java, JavaScript, PHP, Python, Ruby …. Link tham khảo: https://docs.oracle.com/javase/tutorial/jaxp/xslt/xpath.html

  • Báo cáo
  • Thêm vào series của tôi

Related Posts

[Phần 1] Tổng quan về Entity framework core

1. Giao tiếp C# với database và các nguồn dữ liệu khác. Sử dụng thư viện ADO.NET (ActiveX Data Object) là thư viện được xây dựng sẵn…

Đặt vòng tránh thai IUD và những thông tin cần biết

Phương pháp đặt vòng tránh thai hiện không còn quá xa lạ với nhiều chị em. Ngoài công dụng tránh thai an toàn, thì vòng tránh thai…

Quảng canh nông nghiệp (Extensive farming) là gì? Quảng canh và thâm canh

Hình minh họa (Nguồn: pinterest) Quảng canh nông nghiệp Khái niệm Quảng canh nông nghiệp trong tiếng Anh gọi là Extensive farming hay Extensive agriculture. Quảng canh…

Cool boy là gì? 3 dấu hiệu chứng tỏ anh ấy là một coolboy chính hiệu

Nghe tới cool boy bạn đã thấy hơi sởn gai ốc rồi phải không nào, đây là các anh chàng cực lạnh lùng trong truyền thuyết nhưng…

Thương mại đầu vào là gì? Vai trò và nhiệm vụ

Hình minh hoạ (Nguồn: indiatimes) Thương mại đầu vào Khái niệm Thương mại đầu vào là hoạt động đầu tiên trong quá trình sản xuất kinh doanh…

Tổng quan về ma trận

Với số nguyên dương (n), tập hợp tất cả các ma trận kích thước (ntimes n) được đóng kín dưới phép toán cộng và nhân, tạo thành…