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) วิธีการเก่าหน่อย แต่บางคนยืนยันถึงพลังของมัน