PHP & XML



XML là một ngôn ngữ đánh dấu mà khá giống HTML. Một tài liệu XML là thuần văn bản và chứa các thẻ được giới hạn bởi < và >. Có hai điểm khác nhau chủ yếu giữa XML và HTML.

  • XML không định nghĩa một tập các thẻ cụ thể.
  • XML thực sự "kén chọn" cấu trúc tài liệu.

XML cung cấp cho bạn nhiều đặc quyền hơn HTML. HTML có một tập hợp thẻ cụ thể: thẻ <a></a> bao quanh một link, thẻ <p> bắt đầu một đoạn văn, … 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 một movie rating, thẻ <height></height> xung quanh độ cao của người nào đó. Vì thế, XML cung cấp cho bạn tùy chọn để cơ cấu các thẻ cho riêng bạn.

XML là khá nghiêm ngặt khi nói đến cấu trúc tài liệu. HTML cho bạn làm việc nhanh và khá mềm mỏng với các thẻ đóng và thẻ mở. Nhưng điều này không thể áp dụng với XML.

HTML List mà không hợp lệ trong XML

<ul>
   <li>Học PHP cơ bản và nâng cao
   <li>Học Java cơ bản và nâng cao
   <li>Học JavaScript cơ bản và nâng cao
</ul>

Đây là một tài liệu XML không hợp lệ, bởi vì không có thẻ đóng </li> để so khớp với 3 thẻ mở <li>. Mỗi thẻ mở trong một tài liệu XML phải có thẻ đóng.

HTML List mà hợp lệ trong XML

<ul>
   <li>Học PHP cơ bản và nâng cao</li>
   <li>Học Java cơ bản và nâng cao</li>
   <li>Học JavaScript cơ bản và nâng cao</li>
</ul>
Quảng cáo

Phân tích cú pháp một tài liệu XML

SimpleXML module mới của PHP 5 giúp parse một tài liệu XML một cách đơn giản và tốt. Nó chuyển đổi một tài liệu XML thành một đối tượng mà cung cấp truy cập có tính cấu trúc tới XML.

Để tạo một đối tượng SimpleXML từ một tài liệu XML được lưu giữ trong một chuỗi, truyền chuỗi này tới hàm simplexml_load_string(). Nó trả về một đối tượng XML.

Ví dụ

Bạn thử ví dụ:

<html>
   <body>
      
      <?php
         $myXMLData =
		"<?xml version='1.0' encoding='UTF-8'?>
		<note>
		<to>Hoàng</to>
		<from>Nam</from>
		<heading>Ghi chú</heading>
		<body>Tối thứ bảy chơi AOE!</body>
		</note>";
		
		$xml=simplexml_load_string($myXMLData) or die("Error: Không thể tạo đối tượng");
		print_r($xml);
      ?>
		
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

PHP và XML

Ghi chú − Bạn có thể sử dụng hàm simplexml_load_file(filename) nếu bạn có nội dung XML trong một file.

Để có danh sách đầy đủ các hàm liên quan tới việc parse tài liệu XML, bạn truy cập: Tổng hợp hàm trong PHP.

Quảng cáo

Tạo một tài liệu XML

SimpleXML là tốt để parse các tài liệu XML đang tồn tại, nhưng bạn không thể sử dụng nó để tạo một tài liệu mới.

Cách đơn giản nhất để tạo một tài liệu XML là xây dựng một mảng trong PHP mà có cấu trúc phản ánh những gì của tài liệu XML và sau đó duyệt qua mảng đó, in mỗi phần tử với định dạng thích hợp.

Ví dụ

Bạn thử ví dụ:

<?php
   $channel = array('title' => "Loạt bài hướng dẫn ngôn ngữ lập trình miễn phí",
      'link' => 'https://vietjack.com/',
      'description' => 'Hướng dẫn học mọi ngôn ngữ lập trình.');
   
   print "<channel>\n";
   
   foreach ($channel as $element => $content) {
      print " <$element>";
      print htmlentities($content);
      print "</$element>\n";
   }
   
   print "</channel>";
?>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

PHP và XML

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn ở Hà Nội có thể tham gia khóa học thứ 9 của vietjackteam (đang tuyển sinh) vào cuối tháng 10/2018 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Số lượng các công việc Java hoặc .NET luôn gấp ít nhất 3 lần Android hoặc iOS trên thị trường tuyển dụng. Khóa online= Đi phỏng vấn, Khóa offline= Đi phỏng vấn+ 1.5 tháng thực tập ngoài doanh nghiệp.

Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Từ tháng 4/2018, VietJack khuyến mại giá SỐC chỉ còn 250k cho khóa học, các bạn có thể trả lại tiền nếu không hài lòng về chất lượng trong 1 tháng, liên hệ facebook admin fb.com/tuyen.vietjack để thanh toán chuyển khoản hoặc thẻ điện thoại, khóa học bằng Tiếng Việt với gần 100 video, các bạn có thể chủ động bất cứ lúc nào, và xem mãi mãi. Thông tin khóa học tại Khóa học Java Online trên Udemy

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học PHP phổ biến khác tại VietJack:




Tài liệu giáo viên