XML (eXtensible Markup Langue) đóng một vai trò quan trọng trong .NET, đọc và ghi một file xml là những xử lý cơ bản chúng ta cần biết.
XML thường được sử dụng để lưu trữ thông tin chương trình, những thiết lập hay tùy chọn sẵn có của chương trình, chức năng hoàn toàn tương tự ini trong ngôn ngữ Autoit.
2. Đọc, tạo, chỉnh sửa và ghi XML file
Để giảm tải thời gian đọc bài, mình sẽ minh họa bằng code mẫu và chú thích cho dễ hiểu
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Xml;
namespace XML
{
class Program
{
static void Main(string[] args)
{
string contentXML = "<item>" +
"<name>Lang Tu</name>" +
"<name>Phat Bui</name>" +
"<name>IWanna Tam</name>" +
"<name>Duy Anh</name>" +
"</item>"; // Tạo một nội dung XMl
XmlDocument docXML = new XmlDocument(); // Tạo đối tượng XmlDocument
docXML.LoadXml(contentXML); // Load nội dung contentXML
string xpath = "//name"; // Đường dẫn của Node con "name"
XmlNode node = docXML.CreateNode(XmlNodeType.Element, "name", null); // Tạo một node mới bằng phương thức CreateNode
node.InnerText = "Yagami Raito"; // Gán nội dung cho Node con mới tạo
docXML.SelectSingleNode("item").AppendChild(node); // Thêm Node con mới tạo vào Node cha "item"
XmlNode name= docXML.SelectSingleNode(xpath); // Lấy ra Node con "name" đầu tiên.
XmlNodeList nameList = docXML.SelectNodes(xpath); // Lấy ra tất cả các Node con "name" hiện có.
foreach (XmlNode bl in nameList) // Truy xuất tất cả các Node con trong nameList
{
if (bl.InnerText == "Yagami Raito") bl.InnerText = "Yagami"; // Thay đổi nội dung Node con có nội dung là "Yagami Raito" thành "Yagami"
Console.WriteLine(bl.InnerText);
}
XmlTextWriter writer = new XmlTextWriter("data.xml", null); // Tạo đối tượng XmlTextWriter để lưu nội dung XML vào file "data.xml"
writer.Formatting = Formatting.Indented;
docXML.Save(writer); // Lưu nội dung docXML vào file "data.xml"
Console.ReadKey();
Process.Start("notepad.exe", "data.xml"); // Khởi tạo tiến trình để Edit tập tin "data.xml"
}
}
}