GotoKnow
  • เข้าระบบ
  • สมัครสมาชิก
  • แผงจัดการ
  • ออกจากระบบ
GotoKnow

เพิ่มเติม

ทำไมถึงมี section XML
สืบเนื่องมาจากที่มีเว็บมาสเตอร์หลายท่าน ที่ต้องการข้อมูลการจัดอันดับเว็บไซต์ของระบบ ทรูฮิต เช่น 20   อันดับแรกของสมาชิกทั้งหมด หรือจะเป็น 10   อันดับแรกของเว็บไซต์กลุ่มรัฐบาล หรือกลุ่มเอกชน เป็นต้น ดังนั้นเราจึงได้เล็งเห็นว่าควรจะมีการจัดทำ ข้อมูลดังกล่าวในรูปแบบของ XML เพื่อให้ท่านใดที่ต้องการขอ้มูลนั้นสามารถมาดึงข้อมูล file XML นั้นไปใช้ได้เอง พร้อมกับเราได้ทำ script PHP ซึ่งสามารถดึงข้อมูลจาก file XML มานำแสดงในรูปแบบของ HTML ได้ ให้ท่านที่สนใจสามารถ download โปรแกรมไปใช้งานกันได้

กระบวนการ parsing
โดยปกติทั่วไปแล้ว การที่ web server สามารถ load file XML แล้วนำมาแสดงเป็น HTML ได้นั้นจะเข้าสู่กระบวนการ parsing จะมีอยู่ด้วยกัน 2 วิธีหลัก ๆ คือ

  1. DOM (Document Object Model) เป็นวิธีที่ประมวลโครงสร้างของเอกสาร XML ให้เป็นโครงสร้างแบบต้นไม้ เพื่อให้แอพพลิเคชั่นสามารถเข้าหาจุดต่าง ๆ ของโครงสร้างต้นไม้ได้ โดยที่ DOM จะโหลดไฟล์ XML ทั้งไฟล์ใน Memory ซึ่งก็มีทั้งข้อดีและข้อเสีย คือ
    ข้อดี คือ ครั้งแรกสุดที่มีการเรียกใช้งานจะช้า แต่หลังจากนั้นการเข้าถึงจุดต่าง ๆ ของไฟล์ จะเร็วเพราะถูกเก็บใน memory แล้ว
    ข้อเสีย คือ ไม่เหมาะกับ file XML ที่มีขนาดใหญ่ โดยที่ขอบเขตจะถูกจำกัดด้วยหน่วยความจำที่เรียกใช้ในขณะนั้น
  2. SAX (Simple API for XML) เป็นการทำงานแบบ event-based API คือจะรายงานข้อมูลตั้งแต่จุดเริ่มต้นและสิ้นสุดของ elements ต่าง ๆ ไปให้แอพพลิเคชั่นโดยไม่ต้องมีการสร้างโครงสร้างแบบต้นไม้ขึ้นมา   ซึ่งจะเข้าถึงเอกสาร XML ทำงานได้ง่ายและไม่ซับซ้อน และที่สำคัญผู้ใช้สามารถทำ parsing เอกสารที่มีขนาดใหญ่กว่าปริมาณหน่วยความจำได้

โดยเราจะนำเสนอในรูปแบบวิธีที่ 2 คือ SAX และมีอยู่ด้วยกัน 2 ทางเลือกให้ใช้งานคือ

  1. file xml_noparser.php เป็นไฟล์ที่ทำหน้าที่ parser โดยที่ไม่ต้องการการ install ให้ PHP รู้จัก XML แต่อย่างใด
    โดยที่โปรแกรมเขียนขึ้นมาโดยใช้แค่ ฟังก์ชันทั่ว ๆ ไปของ PHP เท่านั้น ก็สามารถทำงานได้
  2. file xml_parser.php เป็นไฟล์ที่ทำหน้าที่ parser โดยที่ต้องการการ install ให้ PHP รู้จัก XML ด้วยคำสั่ง --with xml
    ซึ่งท่านสามารถตรวจสอบ Server ได้ว่าได้ทำการ config ไว้หรือยังโดยใช้คำสั่ง phpinfo();
    ดังต่อไปนี้ คือ เช่นในไฟล์ testserver.php
    ท่านเขียนเป็น <? phpinfo(); ?>   ซึ่งเราเห็นว่าโดยทั่วไปแล้ว PHP ก็ได้ support xml แล้วเป็นส่วนใหญ่ จึงได้จัดทำโปรแกรมนี้ขึ้นมาให้เป็นทางเลือก
  • ทั้งนี้และทั้งนั้นการเลือกใช้ ขึ้นกับว่า server ท่านนั้น php ได้ support XML หรือไม่นะคะ (โดยทั่วไปก็จะ support แล้ว)
  • ขอเรียนให้ทราบเพิ่มเติมว่าระบบเราใช้  web server (Apache) ที่ สนับสนุน PHP --with xml   แต่ยังไม่ได้สนับสนุน DOM

 

ที่มา http://truehits.net//xml/html/

บันทึกนี้เขียนที่ GotoKnow โดย 

หมายเลขบันทึก: 60926
เขียน:
แก้ไข:
อ่าน:
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ

ความเห็น (0)