PHP & XML - Thông tin tổng quan cho lập trình viên
27/05/2022 09:38
XML là một ngôn ngữ đánh dấu trông rất giống HTML. Tài liệu XML là văn bản thuần túy và chứa các thẻ được phân tách bằng dấu <và>. Có hai điểm khác biệt lớn giữa XML và HTML , hãy cùng tìm hiểu trong bài viết dưới đây!
XML là một ngôn ngữ đánh dấu trông rất giống HTML. Tài liệu XML là văn bản thuần túy và chứa các thẻ được phân tách bằng dấu <và>. Có hai điểm khác biệt lớn giữa XML và HTML -
- XML không xác định một bộ thẻ cụ thể mà bạn phải sử dụng.
- XML cực kỳ kén chọn về cấu trúc tài liệu.
XML mang lại cho bạn nhiều tự do hơn HTML. HTML có một số thẻ nhất định: thẻ <a> </a> bao quanh một liên kết, thẻ <p> bắt đầu đoạn văn, v.v. Tuy nhiên, một tài liệu XML có thể sử dụng bất kỳ thẻ nào bạn muốn. Đặt thẻ <rating> </rating> xung quanh xếp hạng phim, thẻ <height> </height> xung quanh chiều cao của ai đó. Vì vậy, XML cung cấp cho bạn tùy chọn để thiết bị các thẻ của riêng bạn.
XML rất nghiêm ngặt khi nói đến cấu trúc tài liệu. HTML cho phép bạn chơi nhanh và đơn giản với một số thẻ mở và đóng. Nhưng đây không phải là trường hợp của XML.
Danh sách HTML không phải là XML hợp lệ
<ul> <li>Braised Sea Cucumber <li>Baked Giblets with Salt <li>Abalone with Marrow and Duck Feet </ul><ul> <li>Braised Sea Cucumber <li>Baked Giblets with Salt <li>Abalone with Marrow and Duck Feet </ul>
Đây không phải là tài liệu XML hợp lệ vì không có thẻ đóng </li> để khớp với ba thẻ mở <li>. Mọi thẻ đã mở trong tài liệu XML phải được đóng lại.
Danh sách HTML là XML hợp lệ
<ul> <li>Braised Sea Cucumber</li> <li>Baked Giblets with Salt</li> <li>Abalone with Marrow and Duck Feet</li> </ul>
Phân tích cú pháp một Tài liệu XML
Mô-đun SimpleXML mới của PHP 5 giúp phân tích cú pháp một tài liệu XML, tốt, đơn giản. Nó biến một tài liệu XML thành một đối tượng cung cấp quyền truy cập có cấu trúc vào XML.
Để tạo một đối tượng SimpleXML từ một tài liệu XML được lưu trữ trong một chuỗi, hãy chuyển chuỗi vào simplexml_load_string () . Nó trả về một đối tượng SimpleXML.
Thí dụ
Hãy thử ví dụ sau -
<html> <body> <?php $note=<<<XML <note> <to>Gopal K Verma</to> <from>Sairamkrishna</from> <heading>Project submission</heading> <body>Please see clearly </body> </note> XML; $xml=simplexml_load_string($note); print_r($xml); ?> </body> </html>
Nó sẽ tạo ra kết quả sau:
LƯU Ý - Bạn có thể sử dụng hàm simplexml_load_file (tên tệp) nếu bạn có nội dung XML trong tệp.
Tạo tài liệu XML
SimpleXML rất tốt để phân tích cú pháp các tài liệu XML hiện có, nhưng bạn không thể sử dụng nó để tạo một tài liệu mới từ đầu.
Cách dễ nhất để tạo một tài liệu XML là xây dựng một mảng PHP có cấu trúc phản chiếu cấu trúc của tài liệu XML và sau đó lặp qua mảng, in từng phần tử với định dạng thích hợp.
Thí dụ
Hãy thử ví dụ sau -
<?php $channel = array('title' => "What's For Dinner", 'link' => 'http://menu.example.com/', 'description' => 'Choose what to eat tonight.'); print "<channel>\n"; foreach ($channel as $element => $content) { print " <$element>"; print htmlentities($content); print "</$element>\n"; } print "</channel>"; ?>
Nó sẽ tạo ra kết quả sau:
http://menu.example.com/ Choose what to eat tonight.