DOM กับ SAX (XML Parser) ต่างกันอย่างไร
เรื่องนี้ผมหาข้อมูลอยู่นานพอสมควรเลย เพราะว่าไม่เคยรู้จักมันมาก่อน เรื่องราวมันเกิดขึ้นจากผมต้องการดึง Element & Attribute ของ XML ออกมา แต่ปัญหามันอยู่ที่ก่อนหน้านี้เคยทำแต่ XML ที่มีแต่ element มา ก็เลยยังไม่เจอปัญหาอะไร แต่คราวนี้มันมี attribute มาด้วย ก็เพิ่งพบว่า class ที่เคยใช้มันเอา attribute ของ XML มาไม่ได้ ก็เลยลองหาใหม่ หาไปหามาเริ่มเยอะ -*- จนในที่สุดก็ค้นพบ 2 keyword สำหรับ XML นี้ ก็คือ DOM และ SAX (อันที่จริงมันก็มีอีก แต่ผมพอจะเข้าใจแค่ 2 ตัวนี้ครับ แหะๆ) ทีนี้มาดูกันครับว่าไอ้เจ้า DOM และ SAX นี้มันคืออะไร แล้วทำไมต้องตั้งชื่อให้มันด้วย แน่นอนล่ะครับว่ามันคือ XML Parser แต่มันแตกต่างกันยังไงล่ะ !! DOM (Document Object Model) - อันนี้ web programmer หลายคนคงรู้จักกันแน่ๆ เพราะว่าคงจะได้เขียน HTML DOM กันอยู่บ่อยๆ คราวนี้ เรามาเจอมันใน XML ครับ มันก็ไม่ได้แตกต่างอะไรจาก HTML ครับ ก็คือ DOM จะมองแต่ละ Tag ที่แยกออกมาเป็น Object ครับ สร้างออกมาในลักษณะของต้นไม้ (Tree) ทำให้เวลาที่เราจะได้ Element ซักตัวของ Tag ด้านในก็ต้องใช้การท่องต้นไม้ลงไปครับ การที่จะทำแบบนี้ได