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

Glutaraldehyde – Chất Sát Trùng Phổ Rộng

Ngày 03/05/2019 | Đã đọc 32,183 lần | Tác giả: TS. Huỳnh Trường Giang – Khoa Thuỷ sản – Đại học Cần Thơ 1. Glutaraldehyde là gì…

VỐN ĐIỀU LỆ TIẾNG ANH LÀ GÌ?

1. Vốn điều lệ tiếng Anh là gì? Charter là gì? Vốn điều lệ tiếng Anh được dịch là “Charter capital” hoặc có trường hợp khác được…

Thuế khoán là gì? Đối tượng áp dụng và cách tính thế nào?

1. Thuế khoán là gì? Thuế khoán là một loại thuế trọn gói dành cho các hộ kinh doanh và cá nhân kinh doanh. Do mức thuế…

Những điều cần biết về thuốc giảm đau thần kinh pregabalin (Lyrica)

Pregabalin (Lyrica) là gì? Cơ chế hoạt động của thuốc là gì? Cần lưu ý những điều gì khi dùng thuốc? Hãy cùng YouMed phân tích bài…

Mặt trái xoan là gì? Cách nhận biết và tướng số nam nữ

Mặt trái xoan luôn là một hình mẫu mà nhiều người ưu ái, đặc biệt là phụ nữ. Tuy nhiên, có rất nhiều điều thú vị xoay…

CỔNG GIAO DỊCH BẢO HIỂM XÃ HỘI ĐIỆN TỬ

Thông tin về mã bảo hiểm y tế và quyền lợi người tham gia qua các ký tự trên thẻ BHYT được quy định như thế nào?…