LINQ หรือ Language-Integrated Query นั้นหลักๆจะแบ่งออกเป็น
- LINQ to Objects
- LINQ to XML(XLINQ)
- LINQ to ADO.NET
- LINQ to DataSet
- LINQ to SQL (DLINQ)
- LINQ to Entities
ซึ่งที่เราจะใช้ก็คือ LINQ to XML หรือ XLINQ ครับ
ส่วนไฟล์ข้อมูล XML ที่จะนำมาใช้ก็จะเป็นข้อมูลหนังเหมือนกันกับ XML Parser in Ruby
ในส่วนของโค้ดด้านบนนั้นจะเป็นโค้ดที่ทำการเรียกข้อมูลหนังออกมาแสดงผล โดยจะมีการเรียกใช้ System.Linq และ System.Xml.Linq เพียงใช้งาน LINQ to XML ถัดมาภายใน Main จะทำการใช้คำสั่ง XDocument.Load("movies.xml") เพื่อที่จะโหลดไฟล์ให้มาอยู่ในรูปแบบของ Document (ลักษณะการทำแบบ DOM) จากนั้นก็ประกาศตัวแปรประเภท XElement เพื่อจะเอา Element ภายใน root(ในที่นี้เป็น Movies) ไปใช้ในการ query
สำหรับตัวแปร Tests นั้นจะเห็นว่าเป็นตัวแปรที่ใช้สำหรับเก็บผลลัพธ์ที่ได้จากการ query ในทีนี้กำหนดให้ query ข้อมูลออกมาทั้งหมด จากนั้นจึงนำไปแสดงผล โดยจะใช้ .Attribute() .Element() กำหนดว่าจะแสดงผลส่วนไหน และใช้ (string) นำหน้าเพื่อให้แสดงผลเฉพาะข้อมูลเท่านั้น
ในกรณีที่มี Element ที่ชื่อซ้ำกัน หากใช้ .Element() มันจะแสดงผลเพียงแค่ Element ตัวแรกที่ชื่อนั้นๆเท่านั้น เราจึงต้องทำการวนลูป foreach และใช้ .Elements แทน ผลลัพธ์ที่ได้ก็จะออกมาเป็นตามนี้ครับ
- ทดลอง Query เฉพาะหนังของ Christopher Nolan
ไม่มีความคิดเห็น:
แสดงความคิดเห็น