PHP และ XML

XML เป็นภาษามาร์กอัปที่ดูเหมือน HTML มาก เอกสาร XML เป็นข้อความธรรมดาและมีแท็กที่คั่นด้วย <และ> มีความแตกต่างใหญ่สองประการระหว่าง XML และ HTML -

  • XML ไม่ได้กำหนดชุดแท็กเฉพาะที่คุณต้องใช้
  • XML มีความพิถีพิถันอย่างมากเกี่ยวกับโครงสร้างเอกสาร

XML ช่วยให้คุณมีอิสระมากกว่า HTML HTML มีแท็กชุดหนึ่ง: แท็ก <a> </a> ล้อมรอบลิงก์ <p> ย่อหน้าเริ่มต้นและอื่น ๆ อย่างไรก็ตามเอกสาร XML สามารถใช้แท็กใดก็ได้ที่คุณต้องการ ใส่แท็ก <rating> </rating> รอบ ๆ การจัดเรตภาพยนตร์แท็ก <height> </height> รอบความสูงของผู้อื่น ดังนั้น XML จึงช่วยให้คุณมีตัวเลือกในการติดแท็กของคุณเอง

XML นั้นเข้มงวดมากเมื่อพูดถึงโครงสร้างเอกสาร HTML ช่วยให้คุณเล่นได้อย่างรวดเร็วและหลวมด้วยแท็กเปิดและปิดบางแท็ก แต่นี่ไม่ใช่กรณีของ XML

รายการ HTML ที่ไม่ใช่ XML ที่ถูกต้อง

<ul>
   <li>Braised Sea Cucumber
   <li>Baked Giblets with Salt
   <li>Abalone with Marrow and Duck Feet
</ul>

นี่ไม่ใช่เอกสาร XML ที่ถูกต้องเนื่องจากไม่มีแท็กปิด </li> ที่จะจับคู่กับแท็กเปิด <li> สามแท็ก ทุกแท็กที่เปิดในเอกสาร XML ต้องปิด

รายการ HTML ที่เป็น XML ที่ถูกต้อง

<ul>
   <li>Braised Sea Cucumber</li>
   <li>Baked Giblets with Salt</li>
   <li>Abalone with Marrow and Duck Feet</li>
</ul>

การแยกวิเคราะห์เอกสาร XML

PHP 5 ใหม่ SimpleXMLโมดูลทำให้การแยกวิเคราะห์เอกสาร XML เป็นเรื่องง่าย เปลี่ยนเอกสาร XML เป็นวัตถุที่ให้การเข้าถึง XML อย่างมีโครงสร้าง

ในการสร้างวัตถุ SimpleXML จากเอกสาร XML ที่เก็บไว้ในสตริงให้ส่งสตริงไปที่ simplexml_load_string( ). ส่งคืนวัตถุ SimpleXML

ตัวอย่าง

ลองใช้ตัวอย่างต่อไปนี้ -

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

มันจะให้ผลลัพธ์ดังต่อไปนี้ -

NOTE - คุณสามารถใช้ฟังก์ชัน simplexml_load_file( filename) หากคุณมีเนื้อหา XML ในไฟล์

สำหรับรายละเอียดที่สมบูรณ์ของการแยกวิเคราะห์ XML ฟังก์ชั่นการตรวจสอบการอ้างอิง PHP ฟังก์ชั่น

การสร้างเอกสาร XML

SimpleXML เหมาะสำหรับการแยกวิเคราะห์เอกสาร XML ที่มีอยู่ แต่คุณไม่สามารถใช้เพื่อสร้างเอกสารใหม่ตั้งแต่ต้นได้

วิธีที่ง่ายที่สุดในการสร้างเอกสาร XML คือการสร้างอาร์เรย์ PHP ที่มีโครงสร้างสะท้อนกับเอกสาร XML จากนั้นจึงวนซ้ำผ่านอาร์เรย์พิมพ์แต่ละองค์ประกอบด้วยการจัดรูปแบบที่เหมาะสม

ตัวอย่าง

ลองใช้ตัวอย่างต่อไปนี้ -

<?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>";
?>

มันจะให้ผลลัพธ์ดังต่อไปนี้ -

http://menu.example.com/ Choose what to eat tonight.