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

Xét nghiệm Giải phẫu bệnh – Dẫn đường cho việc điều trị

Xét nghiệm giải phẫu bệnh được thực hiện trên những mẫu bệnh phẩm tế bào, bệnh phẩm mô từ các cơ quan trong cơ thể được sinh…

Phương pháp điều trị tủy răng tại nha khoa hiện nay

Viêm tủy răng là một trong những vấn đề về sức khỏe răng miệng nghiêm trọng. Người mắc viêm tủy răng không chỉ phải chịu đựng những…

Mỹ thuật ứng dụng là gì? (cập nhật 2023)

Khi những giá trị thẩm mỹ ngày càng được chú trọng thì các phẩm mỹ thuật ứng dụng ngày càng đi sâu vào đời sống của mọi…

Bát quái đồ là gì? Ý nghĩa và vai trò của bát quái trong phong thủy

Bát quái đồ là vật phẩm phong thủy được sử dụng khá rộng rãi và phổ biến trong văn hoá phương Đông, nhằm mang lại những niềm…

Du học ngành khoa học ứng dụng và cơ bản

>> Du học ngành khoa học đại cương >> Các trường có đào tạo ngành Khoa học ứng dụng và cơ bản Khoa học Ứng dụng và…

Trồng răng implant là gì? Những điều cần phải biết trước khi chọn trồng răng implant

Trồng răng implant là phương pháp trồng răng cấy trụ kim loại vào xương hàm để thay thế cho răng đã mất. Chính vì vậy trụ implant…