168
Chương 5: XML
XmlHelper.AddElement("productPrice", "0.99", product);
product = XmlHelper.AddElement("product", null, products);
XmlHelper.AddAttribute("id", "1002", product);
XmlHelper.AddElement("productName", "Blue China Tea Pot",
product);
XmlHelper.AddElement("productPrice", "102.99", product);
// Lưu tài liệu.
doc.Save(Console.Out);
Console.ReadLine();
}
}
Bạn cũng có thể lấy các phương thức trợ giúp (như
AddAttribute
và
AddElement
) làm các
phương thức thể hiện trong một lớp tùy biến dẫn xuất từ
XmlDocument
.
Một cách khác để đơn giản hóa việc viết XML là sao lại các nút bằng phương thức
XmlNode.CloneNode
. Phương thức này nhận một đối số luận lý. Nếu giá trị này là
true
,
CloneNode
sẽ sao lại toàn bộ nhánh, với tất cả các nút lồng bên trong.
Ví dụ dưới đây tạo một nút
product
mới bằng cách sao lại nút đầu tiên:
// (Thêm nút product đầu tiên.)
// Tạo một product mới dựa vào product hiện có.
product = product.CloneNode(true);
// Điều chỉnh dữ liệu.
product.Attributes[0].Value = "1002";
product.ChildNodes[0].ChildNodes[0].Value = "Blue China Tea Pot";
product.ChildNodes[1].ChildNodes[0].Value = "102.99";
// Thêm phần tử mới.
products.AppendChild(product);
Chú ý trong trường hợp này, có một số giả định được áp đặt lên các nút hiện có (ví dụ, giả
định con đầu tiên của nút luôn là
productName
, và con thứ hai luôn là
productPrice
). Nếu giả
định này không bảo đảm đúng, bạn cần phải xét tên của nút.