หน้าเว็บ

วันเสาร์ที่ 6 ตุลาคม พ.ศ. 2561

XML Parser in C#

    ในภาษา C# หรือภาษา .NET อื่นๆนั้นจะใช้ LINQ( ออกเสียงเหมือนคำว่า 'Link' ) เป็น XML Parser โดยที่ลักษณะการใช้งานและ Keyword จะคล้ายกับคำสั่ง sql เช่น select from where เป็นต้น

    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





ไม่มีความคิดเห็น:

แสดงความคิดเห็น