RSS กับ XML (ตอนที่ 2)
ในการอ่านข่าว เราจะเอา url ของเนื้อหาข่าวมากำหนดให้กับโปรแกรม โปรแกรมจะไปดึงข่าวมา (ด้วย AJAX) เมื่อได้รับข่าวสารเรียบร้อยแล้ว ก็ใช้ Javascript แยกเอาส่วนต่างๆของเอกสาร XML ที่ได้รับมาออก เพื่อจัดการแสดงผลต่อไป
function LoadXMLDoc(url, handler, language) {
document.getElementById(handler).innerHTML="Loding...";
var req=Inint_AJAX();
if (req!=null) {
req.onreadystatechange=function() {
if (req.readyState==4) {
if (req.status==200) {
xml=req.responseXML;
parseFeed(req.responseXML, handler);
}
}
};
req.open("GET", "rss.php?feed="+url+"&lang="+language, true);
req.send(null);
}
}
LoadXMLDoc เป็นฟังก์ชั่นเพื่อ load ข่าวครับโดยที่ url คือ url ของเอกสารข่าว, handler คือ พื้นที่ (div) สำหรับแสดงผล โดยส่งค่ามาเป็น id ของพื้นที่นั้นๆ และ language เป็นการกำหนดภาษาของเอกสาร เช่น utf-8, tis-620 เป็นต้น
<?php
// rss.php
$language=$_GET['lang'];
header("Content-Type: application/xml; charset=$language");
echo file_get_contents($_GET['feed']);
ฟังก์ชั่นจะไปทำการเรียกเอาเอกสาร XML ด้วยไฟล์ rss.php มาทำงานเพื่อรับเอาเอกสาร XML มาจากเว็บไซต์ต้นทาง เทคนิคในการอ่านเอกสารเราก็ใช้ฟังก์ชั่น file_get_contents อ่านเอาเอกสารที่กำหนดมาแล้วคืนค่ากลับไปยัง AJAX ต่อไป