我们有一个将XML写入XmlWriter的方法,我们使用它直接生成XML流,而不必通过某种形式的DOM。但是,有时我们确实想要创建DOM。一种方法是始终构建一个DOM并从中流式传输(以满足这两个要求),但我们喜欢直接编写XML的性能。因此,我们希望从XmlWriter构建一个DOM。
有关如何从XmlWriter创建XmlDocument的示例,请参阅How to create a XmlDocument using XmlWriter in .NET?,尽管使用稍微偏离滑雪道的代码模式。如果我想要一个XDocument(或XElement子树),是否有类似的选项?
答案 0 :(得分:5)
查看XContainer.CreateWriter Method:
XContainer.CreateWriter方法
创建一个XmlWriter,可用于将节点添加到XContainer。
XDocument和XElement都是XContainers。
示例:的
XDocument doc = new XDocument();
using (XmlWriter writer = doc.CreateWriter())
{
// Do this directly
writer.WriteStartDocument();
writer.WriteStartElement("root");
writer.WriteElementString("foo", "bar");
writer.WriteEndElement();
writer.WriteEndDocument();
// or anything else you want to with writer, like calling functions etc.
}