jQueryTips by Tee++;

  • Home
  • Videos
  • jQueryTips's Fans

Coding like playing a piano.

Subscribe RSS

Search

Search

Sponsored

jQueryTips on Social

Followers

hide
Chainnnn Pang25441 Dexteri@n Ton KanexKane Supachai JustDoIt Rut petchy Tophit anndrew Webmaster

Categories

hide
  • Programing
  • Database
  • Framework
  • Mobile Development
    • Titanium Mobile
    • PhoneGap
  • Life

Tag Cloud

hide
PHP JavaScript MySQL XML Mobile jQuery CodeIgniter Hash php xml Debug Library Zend API Events Plugins Facebook Basic Registration Tool Twitter Search Swath Performance ffmpeg YouTube Web Service Yahoo! NoSQL MongoDB PhoneGap

Recent Posts

hide
  • ใครๆ ก็มี Utils เอางี้เราเพิ่ม Utils ให้กับ CodeIgniter กันบ้าง
  • แนะนำ JS.Class (A JavaScript class library)
  • PHP กับ OOP มาปูพื้นฐานกันเสียใหม่ก่อน
  • ประกาศข่าวสารจาก Admin
  • JSFIDDLE สุดยอด Tools สำหรับการ Debug การเขียนตัวอย่างโคด
  • Titanium Mobile + HTML + Native Scrolling
  • HTML to PDF ตัวไหนดี วันนี้ผมมีคำตอบ ...
  • ทำความรู้จักกับ JavaScript Pattern ในเชิงลึก
  • ผมบอกคุณแล้ว .... คนโง่ก็ Code ได้
  • วันนี้ มาออกแบบ Web Service ด้วย PHP กันเถอะ (CodeIgniter Version)

Recent Comments

hide
  • เยดดดด
  • มีตัวอย่าง CI แบบ เพียว ๆ ไหมครับ
  • ขอบคุณมากครับ เห็นแนวทางได้ชัดขึ้นจากตอนแรก ที่งงไปหมด ไม่รู้อะไรเป็นอะไร
  • ขอบคุณมากเลยครับท่าน....แหม่เพิ่มกำลังใจให้ผมได้เยอะเลย ตอนนี้กำลังฝึกงานอยู่ที่แห่งนึงในหาดใหญ่ พร้อมเด็กจากอีกสถาบันนึง 3 คน เราคิดว่าเรา…
  • Very good blog, I really like ~

Links

hide
  • OSCOOL
  • Architeture & Performance
  • Video and TV
  • Appcelerator
  • PhoneGap
  • Home
  •  » Blogs

ข้อแตกต่างระหว่าง DOM กับ SAX ในการทำงานกับ XML

Jul 15, 2008 3:08:34 PM | 0 Comments | in Programing | XML, PHP
[audio:http://www.jquerytips.com/song/move_bitch.mp3]
วันนี้มาปูพื้นเรื่อง XML กันอีกสักหน่อย การใทำงานกับเอกสาร XML เราจะทำงานผ่าน "xml parser" เพื่อเป็นการดึงชุดข้อมูลมาทำงาน ซึ่งจะมีอยู่ 2 วิธีหลักๆ ก็คือ DOM และ SAX

โดยทั้ง 2 กันต่างกันยังไงบ้างมาดูกัน

DOM (Document object model)
1. การเข้าถึงข้อมูล: เป็นการสุ่ม (random)
2. การอ่านข้อมูล: เป็นการโหลดเอกสาร XML มาทั้งหมด
3. การจัดการข้อมูล: สามารถจัดการได้ (สร้าง, แก้ไข, ลบ)

SAX (Simple API for XML)
1. การเข้าถึงข้อมูล: ตามลำดับ (sequence)
2. การอ่านข้อมูล: อ่านทีละชุด เฉพาะข้อมูลที่ต้องการเข้าถึง
3. การจัดการข้อมูล: อ่านได้อย่างเดียว

โดยการอ่านแบบ SAX จะเป็นการอ่านเฉพาะจุดที่เราต้องการเข้าถึง และถ้าต้องการเข้าถึงข้อมูลชุดอื่นๆ อีก จะมีการเรียกอ่าน เอกสาร xml ซ้ำ
ส่วนการอ่านแบบ DOM จะเป็นการเรียกเพียงครั้งเดียว และจัดเอกสารให้อยู่ในรูปแบบ "Tree" เมื่อจะเข้าถึงข้อมูล node อื่นๆ ก็สามารถเข้าถึงได้เลย ไม่ต้องเรียกซ้ำ

ทั้ง 2 ตัวมีข้อดีข้อเสีย ต่างกันคือ...
ถ้าข้อมูลมีจำนวนมาก ทั้ง 2 ตัวจะกินหน่วยความจำไม่ต่างกัน แต่ SAX จะอ่านข้อมูลเร็วกว่า
แต่ถ้าข้อมูลมีจำนวนมาก การบริโภคหน่วยความจำของ SAX จะมีมากกว่าค่อนข้างเยอะ ดังนั้นการเข้าถึงข้อมูลของ SAX ก็จะช้าตามลงไปด้วย

แต่ท้ายที่สุด เมื่อโหลดเอกสารเสร็จทั้งหมดแล้ว SAX ก็จะมีความเร็วเหนือกว่า DOM

สำหรับ PHP5 ลองศึกษาการใช้งานของ ทั้ง 2 วิธีได้ตาม link ด้านล่างเลยครับ
1. วิธีแบบ SAX
2. วิธีแบบ DOM

เอาล่ะ คิดว่าบทความครั้งนี้ คงช่วยให้เพื่อนๆ ตัดสินใจถูก ว่าในคราวหน้า เราควรจะเลือกใช้งานแบบไหนดี เวลาเจอ ไฟล์ XML มากองตรงหน้านะครับ ^^

twitter stumbleupon delicious digg facebook

0 comments

Add comment Load previous All comments

Leave a comment

Post Comment

Powered by OSCOOL. You may view this on RSS or ATOM.

OSCOOL

  • Twitter
  • Facebook
  • Next