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.