Ứng Dụng Của XML (Extensible Markup Language) - Thầy Long Web
Ứng dụng của XML rất đa dạng, là người lập trình bạn cần phải biết để sử dụng nhé, không nhiều thì ít. Trong phát triển ứng dụng thế nào bạn cũng đụng đến.
1. Khái niệm về XML
XML là một ngôn ngữ được tạo ra để đánh dấu dữ liệu một cách có cấu trúc. Nói một cách đơn giản hơn: XML là ngôn ngữ quan tâm đến cấu trúc dữ liệu. Mục tiêu là để tạo ra cách mô tả cấu trúc của dữ liệu để trao đổi dữ liệu giữa các hệ thống thông tin, các ứng dụng với nhau.
Mục tiêu của XML khác với HTML, HTML hướng đến việc hiện dữ liệu cho đẹp, còn XML hướng đến việc mô tả cấu trúc của dữ liệu.
Ví dụ có 2 website muốn trao đổi thông tin với nhau, website này gửi qua website kia 1 đoạn text gồm danh xưng, họ tên, địa chỉ, thành phố. Trong chuỗi text dài đó, làm sao bên website đích biết được đâu là họ tên, khúc nào là địa chỉ, chỗ nào là thành phố? XML giúp giải quyết rất đơn giản. Bạn hãy xem trong 2 hình dưới:
Hình dưới đây là 1 file code HTML: nó giúp hiện họ tên rồi xuống hàng, rồi hiện địa chỉ dạng chữ nghiêng, rồi xuống hàng và hiện HCM.
Còn đây là 1 file dữ liệu XML, nó mô tả chi tiết đâu là danh xưng, đâu là họ, đâu là tên, địa chỉ, thành phố.
Việc “cắt khúc” dữ liệu vào các tag như title, city… là rất quan trọng, nó giúp bạn mô tả cấu trúc của dữ liệu, giúp website khác/ứng dụng khác website dễ dàng hiểu được dữ liệu của bạn.
Ngày nay việc trao đổi thông tin giữa các ứng dụng hay website là rất nhiều, cho nên dữ liệu xuất ra từ 1 bên mà có cấu trúc là rất quan trọng. Chẳng hạn bạn cần lấy danh sách của 3000 nhân viên trong 1 ứng dụng đã có để đưa qua ứng dụng mới. Kha kha, dùng xml nhé.
2. Các quy luật cơ bản khi tạo file XML
- Nên có 1 tag gốc (Root Element) chứa mọi tag bên trong. Tài liệu XML không có root element được gọi là một XML fragment. Để làm cho nó well-formed, bạn cần thêm một root Element
- Mỗi tag phải có đóng. Mở đầu và đóng phải giống hoàn toàn (phân biệt hoa thường), tên tag do bạn tự bịa ra .
- Phần tử con phải nằm hoàn toàn trong cha.
- Mỗi phần tử có thể có nhiều thuộc tính. Giá trị của 1 thuộc tính đặt trong dấu nháy.
- Nên có các Processing Instruction cặp tags <? và ?> để thông tin về version của XML trong tài liệu cho parser xử lý, nó cũng cho biết data trong XML dùng encoding nào.
3. Các khái niệm
- Element: Phần tử.
- Root Element: Phần tử gốc.
- Attribute: Thuộc tính.
- Parser: là chương trình kiểm tra cú pháp file xml. Ví dụ: Excel là 1 parse
- Xpath: Là cách thức để định vị hay lựa chọn phần tử trong 1 tài liệu XML.
Xpath là /order để chọn phần tử orderXpath /order/Customer để chọn phần tử CustomerXPath /order/@orderno để chọn thuộc tính orderno của orderXpath /order//product để chọn các node Product
4. Ứng dụng của XML
Ứng dụng của XML thì rất nhiều, dưới đây nêu một vài ứng dụng phổ biến
a. Ứng dụng xml để lưu trữ dữ liệu
Mỗi 1 file xml tương đương với 1 table trong mysql, mỗi file xml chứa nhiều dữ liệu như 1 table của mysql vậy. Hãy xem ví dụ sau:
Đây là 1 table trong mysql. Có 3 cột, chứa tên và địa chỉ các website.
Thay vì lưu trong table như vậy, bạn có thể lưu tên và địa chỉ website trong 1 file xml như sau:
(Bạn dùng notpad++ hoặc 1 trình soạn tạo text, tạo 1 file có tên websites.xml và code nhé)
b. Ứng dụng XML để lưu dữ liệu trong công nghệ RSS
RSS là công nghệ dùng để publish các thông tin mới trong 1 website. Bạn xem các trang sau:
https://thanhnien.vn/rss/doi-song/am-thuc.rss
https://thanhnien.vn/rss/doi-song/song-xanh.rss
c. Ứng dụng XML để trao đổi thông tin giữa các website với nhau
Ứng dụng về việc này bạn đã thấy đề cập ở trên. XML thường được dùng để trao đổi giữa các website, rất cần thiết trong lập trình tương tác. Khi dữ liệu được luân chuyển giữa các website phải có cấu trúc mới có thể đọc được.
Ví dụ bạn cần gửi sms từ website của mình. Website của bạn tương tác với website nhà mạng để gửi, thông tin gửi và kết quả gửi trao đổi giữa 2 website thường sử dụng là xml, vì với 1 khối text xml, có thể diễn tả nhiều thông tin có ý nghĩa: đâu là số điện thoại, đâu là nội dung tin nhắn…
5. Chuẩn bị thực tập
Trong htdocs, bạn tạo folder xml để chuẩn bị thực tập nhé, các file sao sẽ tạo trong folder xml này. File websites.xml bạn tạo thử ở trên cũng chép vào folder xml này nhé.
6. Tạo tài liệu XML
Bạn thử thực tập tạo thử 2 tài liệu xml sau nhé
a. Mở notepad++, tạo file xml\books1.xml và code như hình dưới. Tài liệu xml này sẽ chứa thông tin của các cuốn sách, mỗi sách nằm trong tag book, mỗi tag book có 4 tag con là title, price, author, publisher và 1 thuộc tính là isbn.
b. Mở notepad++, tạo file xml\books2.xml và code như hình dưới. Tài liệu xml này sẽ chứa thông tin của các cuốn sách giống như trên, mỗi sách nằm trong tag book, mỗi tag book có 5 thuộc tính là title, price, author, publisher và isbn.
Việc dùng tag con hay thuộc tính đều được, tuỳ quan điểm và sẽ ảnh hưởng đến cách bạn truy xuất đến các giá trị bên trong.
7. Đọc file XML dùng Jquery
Tạo file xml\websites.html
<meta charset="UTF-8"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> </script><script>$(document).ready(function(){$.ajax({ url: "websites.xml", dataType: "xml", success: function(xml) { $(xml).find('row').each(function(){ var id = $(this).attr('id'); var ten = $(this).find('ten').text(); var url = $(this).find('url').text(); var data = "<p><a href="+ url + ">" + ten + "</a></p>"; $(data).appendTo('#wrap'); }); }});});</script><div id="wrap"> <h2>ĐỌC FILE DÙNG JQUERY</h2> </div>Xem thử sẽ thấy OK
8. Đọc file XML dùng PHP
Trong PHP có hai hàm mà bạn có thể dùng để đọc xml
- simplexml_load_file — Đọc file xml thành tài liệu xml trong bộ nhớ
- simplexml_load_string — Đọc chuỗi xml thành tài liệu xml trong bộ nhớ
Ví dụ 1 : tạo file xml\xembookA.php
<table border="1" width="600" cellspacing="0" cellpadding="4"><?php $xml= simplexml_load_file("books1.xml"); // Load file ?><?php foreach($xml->children() as $b) { // Lặp in hết nội dung ?><tr> <td> <?=$b -> title ?> </td><td> <?=$b -> author?> </td><td> <?=$b -> publisher?> </td><td> <?=$b -> price?> </td><td> <?=$b['isbn']?> </td></tr><?php }?></table>Ví dụ 2 : tạo file xml\xembookB.php
<table border=1 width=600 cellspacing=0 align=center><tr><th>Title</th><th>Author</th><th>Publisher</th><th>Price</th><th>ISBN</th></tr><?php $books= new SimpleXMLElement("books1.xml",null,true); foreach($books as $b){ echo <<<EOF<tr> <td> {$b -> title} </td> <td> {$b -> author} </td> <td> {$b -> publisher} </td> <td> {$b -> price} </td> <td> {$b['isbn']} </td></tr>EOF;}?></table>Ví dụ 3 : tạo file xml\lienketwebsite.php
<?php $list= new SimpleXMLElement("websites.xml",null,true); ?><select onchange="window.open(this.value,'newwin');"><?php foreach($list as $ws) {?><option value='<?=$ws->url?>'><?=$ws->ten?></option><?php }?></select>Từ khóa » Xml Là Gì Trong C++
-
Thao Tác Với XML Sử Dụng TinyXML Trong C++ - STDIO
-
Bài 01: XML Là Gì? Cú Pháp Căn Bản Của XML - Freetuts
-
XML - Ngôn Ngữ Đánh Dấu Mở Rộng: Lạ Mà Quen - CodeLearn
-
XML Là Gì? Tìm Hiểu Về XML | TopDev
-
File XML Là Gì? Tìm Hiểu Về Ngôn Ngữ XML - Vietnix
-
File XML Là Gì Và Cách Mở Nó Như Thế Nào?
-
XML – Wikipedia Tiếng Việt
-
XML Là Gì, Tìm Hiểu Cách Sử Dụng XML - Hoclaptrinh
-
XML Là Gì? Cú Pháp Căn Bản Của XML | PLC Schneider
-
Bài 1.4. Cú Pháp XML | V1Study
-
Tìm Hiểu Về Cú Pháp Văn Bản XML
-
Ghi Dữ Liệu Từ Mảng Ra File XML Trong C Như Thế Nào?
-
Tìm Hiểu Về XML (phần 1) - Viblo
-
Trình Phân Tích Cú Pháp XML Mở Tốt Nhất Cho C ++ Là Gì? [bản Sao]