07/05/2018, 14:46

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 ...

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>

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ạ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' => 'http://vietjack.com/',
      'description' => 'Hướng dẫn học mọi ngôn ngữ lập trình.');
   
   print "<channel>
";
   
   foreach ($channel as $element => $content) {
      print " <$element>";
      print htmlentities($content);
      print "</$element>
";
   }
   
   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

Mọi người cho thể tham gia khóa học thứ 6 của vietjackteam (đang tuyển sinh) vào đầu tháng 03/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 : .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.

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

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. Trong tháng 4/2018, VietJack khuyến mại giá SỐC chỉ còn 150k cho khóa học, 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

Loạt bài hướng dẫn học lập trình PHP cơ bản và nâng cao của chúng tôi dựa trên nguồn tài liệu của: Tutorialspoint.com

Follow fanpage của team hoặc facebook cá nhân Nguyễn Thanh Tuyền để 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:

0