Trong quá trình sử dụng máy tính, một số file sẽ cần bạn xác định cú pháp mã hóa để máy móc có thể hiểu được. Và file XML chính là công cụ giúp bạn thực hiện điều đó. XML sẽ thông qua việc sử dụng thẻ tùy chỉnh để mô tả cấu trúc và các tính năng khác của tài liệu. Nếu vẫn còn chưa rõ file XML là gì? Hay ưu, nhược điểm và cách mở file XML ra sao? Hãy cùng Vietnix tìm hiểu tất tần tật về XML qua bài viết sau nhé!
XML là gì?
Được tạo ra bởi World Wide Web Consortium (W3C), XML hay Extensible Markup Language, dịch sang tiếng Việt chính là “ngôn ngữ đánh dấu mở rộng” có chức năng truyền đạt và mô tả nhiều loại dữ liệu khác nhau. Từ đó, việc chia sẻ dữ liệu sẽ giữa các hệ thống và nền tảng thông qua mạng Internet sẽ diễn ra vô cùng đơn giản.
Ví dụ: Khi bạn xây dựng ứng dụng A bằng PHP và ứng dụng B bằng Java. Lúc này, hai ngôn ngữ của 2 ứng dụng sẽ không thể hiểu nhau, vì vậy ta cần đến file XML để trao đổi và mã hóa dữ liệu.
>> Xem thêm: File KML là gì? Cách mở file KML nhanh chóng
Ưu và nhược điểm của XML là gì?
Ưu điểm
- Tính độc lập: Đây được xem là ưu điểm lớn nhất của XML. Bởi nó được sử dụng để truyền đạt dữ liệu dưới dạng text (văn bản) nên các phần mềm và chương trình bình thường đều có thể đọc được file XML.
- Đọc và phân tích nguồn dữ liệu tốt: Vì có thể hiểu được nhiều ngôn ngữ nên SML đóng vai trò như 1 “thông dịch viên” giúp trao đổi dữ liệu giữa các chương trình và hệ thống khác nhau. Ngôn ngữ XML hiển thị dưới dạng text nên bất kỳ chương trình nào cũng có thể hiểu được.
- Tỷ lệ sai sót thấp: Khả năng sai sót trong truyền đạt của XML chỉ vào khoảng từ 5-7%. Dù đây cũng là 1 ưu điểm, thế nhưng nếu bạn thực sự cần trao đổi các thông tin quan trọng, hãy nên cân nhắc trước khi sử dụng XML nhé!
- Ngoài ra: XML còn được sử dụng cho Remote Procedure Calls trên website nhằm phục vụ cho các dịch vụ mong muốn.
Nhược điểm
Tỷ lệ sai sót rơi vào khoảng từ 5-7% trong quá trình truyền dữ liệu cũng có thể gây ra một số hạn chế không mong muốn cho người dùng.
Sự khác biệt giữa XML và HTML
Giống nhau: Điểm chung duy nhất giữa XML và HTML chính là việc chúng đều là các thẻ (tag).
Khác nhau:
XML | HTML |
---|---|
Cho phép người dùng tạo biểu tượng đánh dấu riêng để mô tả nội dung. Tạo biểu tượng không giới hạn và tự định nghĩa | Được định nghĩa từ trước và người dùng phải tuân thủ |
Được sử dụng để truyền tải, mã hóa và lưu trữ dữ liệu | Được thiết kế để hiển thị dữ liệu |
Lưu ý: XML không phải là thay thế cho HTML.
Ví dụ:
<?xml version="1.0" encoding="UTF-8"?>
<article>
<title>XML là gì</title>
<author>TopDev Blog</author>
<year>2021</year>
</article>
XML cũng được sử dụng để giúp định dạng các loại tài liệu khác. Sau đây là một số định dạng bạn có thể biết:
- RSS
- Microsoft .NET sử dụng XML cho các file cấu hình của nó.
- Sitemap
Một số cú pháp của XML
Một XML đầy đủ sẽ có cấu trúc như sau:
<?xml version="1.0"?>
<contact-info>
<name>Truong</name>
<company>Vietnix</company>
<phone>(0965) 333-333</phone>
</contact-info>
Trong ví dụ trên, ta có hai loại thông tin như sau:
- Thông tin đánh dấu, như <contact-info> và
- Text, hoặc dữ liệu là ký tự, như Vietnix và (09653) 333-333.
Sau đây là sơ đồ minh họa quy tắc cú pháp để viết các kiểu đánh dấu và text khác nhau trong XML.
1. Khai báo XML
Phần khai báo tùy ý của XML sẽ được viết như sau:
<?xml version="1.0" encoding="UTF-8"?>
Ở đây, version là phiên bản XML và encoding xác định mã hóa ký tự được sử dụng trong tài liệu.
2. Các quy tắc cú pháp khai báo XML
- Khai báo XML (XML declaration) – phân biệt kiểu chữ sẽ phải bắt đầu với “<?xml>”. Lưu ý rằng ở đây “xml” được viết ở dạng chữ thường.
- Tài liệu chứa khai báo XML phải là lệnh đầu tiên của tài liệu XML.
- HTTP Protocol có thể ghi đè giá trị của encoding trong khai báo XML.
3. Tags và Elements
Một file XML hoàn chỉnh sẽ được cấu thành bởi các phần tử XML (Element) hay còn gọi là XML-node, XML-tags. Tên các phần tử này sẽ được đặt trong dấu < > như sau:
<element>
4. Quy tắc cú pháp cho Tags và Elements
- Cú pháp phần tử: Mỗi phần tử XML sẽ phải nằm trong < > với phần tử bắt đầu hoặc kết thúc như sau:
<element>....</element>
Hoặc một cách đơn giản hơn:
<element/>
- Lồng các phần tử: Một phần tử XML có thể chứa nhiều phần tử XML khác, nhưng các phần tử con này phải riêng biệt và không đè lên nhau. Ví dụ: Một thẻ đóng của một phần tử phải có cùng tên như thẻ mở kết nối với nó.
Các thẻ lồng sai cú pháp:
<?xml version="1.0"?>
<contact-info>
<company>Vietnix
<contact-info>
</company>
Các thẻ lồng nhau đúng cú pháp:
<?xml version="1.0"?>
<contact-info>
<company>Vietnix</company>
<contact-info>
Phần tử gốc (Root Element): Một tài liệu XML có thể chỉ có một phần tử gốc. Ví dụ sau minh họa một tài liệu XML sai cú pháp, bởi vì cả hai phần tử x và y xuất hiện ở cấp cao nhất mà không phải là một phần tử gốc.
<x>...</x>
<y>...</y>
Còn đây là ví dụ về đúng cú pháp:
<root>
<x>...</x>
<y>...</y>
</root>
- Phân biệt kiểu chữ: Tên của thẻ mở và thẻ đóng trong file XML phải cùng kiểu. Ví dụ, <Contact-Info> là khác với <contact-info> (viết hoa và thường)
5. Thuộc tính (Attributes)
Mỗi một thuộc tính sẽ xác định thuộc tính cho phần tử, sử dụng một cặp tên/ giá trị. Một phần tử XML có thể có một hoặc nhiều thuộc tính. Ví dụ:
<a href="https://google.com/">Vietnix</a>
Ở đây href là tên thuộc tính và https://google.com/ là giá trị thuộc tính.
6. Quy tắc cú pháp cho thuộc tính
- Khác với HTML, tên thuộc tính trong XML là phân biệt kiểu chữ. Ví dụ như HREF và href sẽ là hai thuộc tính khác nhau.
- Cùng một thuộc tính không thể có hai giá trị trong một cú pháp. Ví dụ sau sẽ cho thấy việc sai cú pháp khi thuộc tính d được nhắc lại 2 lần.
<a d="x" c="y" d="z">....</a>
- Các giá trị thuộc tính phải luôn luôn trong các dấu trích dẫn “…” và thuộc tính được định nghĩa thì sẽ không có sự trích dẫn. Sau đây là 1 ví dụ sai cú pháp trích dẫn.
<a b=x>....</a>
7. Tham chiếu trong XML
Tham chiếu (References) cho phép bạn thêm hoặc bao bọc phần text/ đánh dấu bổ sung trong file XML. Các tham chiếu luôn luôn bắt đầu với biểu tượng “&” (ký tự dành riêng) và kết thúc với ký tự “;”. Sau đây là 2 kiểu tham chiếu của XML:
- Tham chiếu thực thể (Entity Reference): Chứa một tên giữa dấu tách mở “&” và dấu tách đóng”;”. Ví dụ: & thì amp là tên.
- Tham chiếu ký tự (Character Reference): Chứa các tham chiếu, ví dụ A, có dấu băm (#) đứng trước 1 con số. Con số này luôn luôn tham chiếu tới mã hóa Unicode của ký tự. Như ví dụ trên thì số 65 đang tham chiếu tới chữ cái “A”.
8. Text trong XML
- Trong ngôn ngữ XML, tên của phần tử và thuộc tính sẽ là “phân biệt kiểu chữ” nên 2 phần tử mở và đóng cần phải được viết giống hệt nhau (kể cả viết hoa và dấu câu)
- Tất cả các file XML nên được lưu dưới dạng Unicode UTF-8 hoặc UTF-16 để tránh bị mã hóa.
- Các ký tự như khoảng trắng, tab và ngắt dòng giữa các phần tử và thuộc tính XML sẽ bị bỏ qua.
- Các cú pháp XML sẽ có 1 số ký tự dành riêng và chúng không được sử dụng một cách trực tiếp. Để sử dụng chúng, bạn cần tuân theo một số thực thể thay thế như sau:
Ký tự không được phép sử dụng | Thực thể thay thế | Miêu tả |
---|---|---|
< | < | Nhỏ hơn |
> | > | Lớn hơn |
& | & | Và |
‘ | ' | Dấu nháy đơn |
“ | " | Trích dẫn kép |
Cách mở file XML
Có 3 cách mở file XML đó là:
1. Mở bằng Notepad
Là cách mở file XML đơn giản nhất, những gì bạn cần làm chình là nhấp chuột phải vào file XML cần mở > Open with > Notepad.
2. Mở bằng trình duyệt web
Nhấp chuột phải vào file XML cần mở > Open with > Chọn trình duyệt bạn muốn dùng để mở file.
Dữ liệu mở bằng web sẽ có cấu trúc gọn gàng nhưng nó sẽ không đẹp bằng chế độ xem code được mã hóa khi mở bằng Notepad.
3. Sử dụng trình chỉnh sửa trực tuyến
Ở đây, chúng tôi sẽ hướng dẫn bạn dùng CodeBeautify, trang được chia thành 3 phần:
- Bên trái: Là file XML bạn đang làm việc.
- Chính giữa: Bạn sẽ tìm thấy một số tùy chọn.
- Bên phải: Là kết quả khi thực hiện thay đổi.
Nút Treeview hiển thị dữ liệu của bạn trong một cấu trúc cây được định dạng độc đáo trong ngăn kết quả, với tất cả các thẻ của bạn ở bên trái màu cam và các thuộc tính ở bên phải của các thẻ.
Beautify hiển thị dữ liệu của bạn với các dòng gọn gàng, dễ đọc trong ngăn kết quả.
Bạn có thể sử dụng nút XML to JSON để chuyển đổi định dạng XML thành JSON.
Lời kết
Trên đây chính là toàn bộ thông tin về XML là gì mà chúng tôi đã tìm hiểu và sưu tầm được. Mong rằng qua bài viết, quý độc giả đã có cái nhìn toàn vẹn hơn về loại ngôn ngữ lập trình này. Chúc bạn sử dụng File XML thành công và thật an toàn nhé!