Tag: xmlwriter

如何在.NET中使用XmlWriter创build一个XmlDocument?

许多.NET函数使用XmlWriter输出/生成XML。 输出到一个文件/string/内存是一个非常操作: XmlWriter xw = XmlWriter.Create(PutYourStreamFileWriterEtcHere); xw.WriteStartElement("root"); … 有时,您需要操作生成的Xml,因此希望将其加载到XmlDocument中,或者由于其他原因可能需要XmlDocument,但是必须使用XmlWriter生成XML。 例如,如果您在仅输出到XmlWriter的第三方库中调用函数。 你可以做的事情之一是写入XML到一个string,然后将其加载到您的XmlDocument: StringWriter S = new StringWriter(); XmlWriter xw = XmlWriter.Create(S); /* write away */ XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(S.ToString()); 但是这样做效率不高 – 首先将所有的xml信息序列化为一个string,然后再次parsingstring来创buildDOM。 你怎么能指望一个XmlWriter直接build立一个XmlDocument?

使用XmlWriter附加现有的XML文件

我已经使用下面的代码来创build一个XML文件: XmlWriterSettings xmlWriterSettings = new XmlWriterSettings(); xmlWriterSettings.Indent = true; xmlWriterSettings.NewLineOnAttributes = true; using (XmlWriter xmlWriter = XmlWriter.Create("Test.xml", xmlWriterSettings)) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("School"); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); xmlWriter.Close(); } 我需要dynamic插入节点创build以下结构: <?xml version="1.0" encoding="utf-8"?> <School /> <Student> <FirstName>David</FirstName> <LastName>Smith</LastName> </Student> … <Teacher> <FirstName>David</FirstName> <LastName>Smith</LastName> </Teacher> … </School> 我该怎么做? 应该从键盘上读取“FirstName”和“LastName”的值,当然可以在任何时候input值。