C#:
การทำงานกับ XML

วิธีการ:

ใช้ System;
ใช้ System.Xml;
ใช้ System.Xml.Linq;

class Program
{
     static void Main()
     {
        var xmlString = @"<bookstore>
                            <book>
                              <title lang=""en"">Head First C#</title>
                              <price>39.99</price>
                            </book>
                          </bookstore>";

        // แยกสตริงเป็น XDocument
        XDocument doc = XDocument.Parse(xmlString);

        // เพิ่มหนังสือเล่มใหม่
        doc.Element("bookstore").Add(
            new XElement("book",
                new XElement("title", "Learning XML", new XAttribute("lang", "en")),
                new XElement("price", 29.99)
            )
        );

        // เขียน XML ลงในคอนโซล
        Console.WriteLine(doc);

        // โหลดเอกสาร
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(xmlString);

        // สืบค้นราคาทั้งหมด
        XmlNodeList prices = xmlDoc.GetElementsByTagName("price");
        foreach (XmlNode price in prices)
        {
            Console.WriteLine(price.InnerText);
        }
     }
}

// ตัวอย่างผลลัพธ์:
// <bookstore>
//  <book>
//    <title lang="en">Head First C#</title>
//    <price>39.99</price>
//  </book>
//  <book>
//    <title lang="en">Learning XML</title>
//    <price>29.99</price>
//  </book>
// </bookstore>
// 39.99
// 29.99

ลงลึก

XML มีมาตั้งแต่ปลายยุค 90 ทำให้มันเป็นตัวแก่ในโลกเทคโนโลยี มันถูกคิดค้นขึ้นมาเพื่อพกพาข้อมูลและความสะดวกในการอ่านของมนุษย์ ตัวเลือกอื่น ๆ เช่น JSON ตอนนี้กำลังไล่ตามมาอย่างรวดเร็ว โดยเฉพาะในบริบทเว็บ เพราะมันเบาและสำหรับหลาย ๆ คนง่ายต่อการจัดการ แต่ XML ยังคงยืนหยัดในระบบมรดกและโปรโตคอลการสื่อสารบางประเภท ด้วย XML, คุณได้รับ schema เพื่อตรวจสอบโครงสร้างของคุณและเนมสเปซเพื่อหลีกเลี่ยงการชนของ tag — คุณสมบัติที่บ่งบอกถึงความพร้อมสำหรับเอนเทอร์ไพรซ์ของมัน

ใน C#, System.Xml.Linq และ System.Xml namespaces เป็นอาวุธขนาดใหญ่สองชิ้นในการทำงานกับ XML LINQ ไปยัง XML (XDocument, XElement) มีความทันสมัยและมีเสน่ห์มากขึ้น—คุณได้เห็นมนต์ของมันในตัวอย่าง XmlDocument ให้คุณเข้าถึง DOM (Document Object Model) วิธีการเก่าหน่อย แต่บางคนยืนยันถึงพลังของมัน

ดูเพิ่มเติม