Nhiều hàm .NET sử dụng XmlWriter để xuất/tạo xml. Xuất ra vào một tập tin/chuỗi/bộ nhớ là một hoạt động rất:Cách tạo XmlDocument bằng XmlWriter trong .NET?
XmlWriter xw = XmlWriter.Create(PutYourStreamFileWriterEtcHere);
xw.WriteStartElement("root");
...
Đôi khi, bạn cần phải thao tác các Xml kết quả và do đó muốn tải nó vào một XmlDocument hoặc có thể cần một XmlDocument đối với một số lý do khác, nhưng bạn phải tạo XML bằng cách sử dụng XmlWriter. Ví dụ: nếu bạn gọi hàm trong thư viện của bên thứ ba chỉ xuất ra XmlWriter.
Một trong những điều bạn có thể làm là viết xml vào một chuỗi và sau đó tải nó vào XmlDocument của bạn:
StringWriter S = new StringWriter();
XmlWriter xw = XmlWriter.Create(S);
/* write away */
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(S.ToString());
Tuy nhiên điều này là không hiệu quả - lần đầu tiên bạn serialize tất cả các thông tin xml vào một chuỗi, sau đó bạn phân tích lại chuỗi để tạo DOM.
Làm cách nào để bạn có thể trỏ XmlWriter để tạo XmlDocument trực tiếp?
+1 Câu hỏi hay, rất hữu ích. – harpo