ใช้ jFeed จัดการข้อมูลที่มีรูปแบบ XML

สัปดาห์ที่ผ่านมานี้ ฝนตกบ่อยมาก ผมจึงเข้าไปเว็บไซต์ของกรมอุตุนิยมวิทยา แล้วก็ไปดูหน้าจังหวัดนครปฐม ผมสังเกตเห็นว่ามีบริการฟีด (Feed) ด้วย ผมก็คิดว่าถ้าดึงข้อมูลจากฟีดมาใช้ในเว็บของเราคงจะดี แล้วผมอยากรู้ว่า jQuery จะทำพาร์เซอร์ข้อมูลที่เป็น XML ได้มั้ยจึงค้นหาจาก Google แล้วก็พบ jFeed จึงได้ลองเอามาศึกษา แต่ผมพบว่าไม่สามารถฟีดข้อมูลจากกรมอุตุนิยมวิทยาได้ จึงลองแก้ปัญหาไปเรื่อยๆ จนรู้ว่า ไฟล์ proxy.php ที่ให้มานั้นใช้งานไม่ได้ (ที่มหาวิทยาลัย มีการใช้งาน proxy ด้วย) ดังนั้นผมจึงแก้ด้วยการพี่งพา HTTP_Request Package โดยติดตั้งด้วยคำสั่ง

$ pear install HTTP_Request

จากนั้นก็แก้ไขไฟล์ proxy.php ให้เป็นดังนี้

<?php
require_once "HTTP/Request.php";

$req =& new HTTP_Request($_REQUEST['url']);
$req->setProxy("proxy2.su.ac.th"3128"uxxxxxxx""xxxxxxxxx");
$response $req->sendRequest();

header('Content-type: application/xml');
if (
PEAR::isError($response)) {
    echo 
$response->getMessage();
}
else {
    echo 
$req->getResponseBody();
}
?>

สำหรับคนที่จะนำไปใช้ให้แก้ไขพารามิเตอร์ใน setProxy หรือหากไม่ใช้ proxy ก็ลบออกได้เลย จากนั้นผมก็ทดลองฟีดข้อมูลอีกครั้งก็ใช้งานได้ผลดังนี้

รายงานสภาพอากาศ
ข้อมูลเมื่อ :

ดูตัวอย่าง หรือ ดาวน์โหลดซอร์สโค้ด