我想创建一个xml文件但是有选择地添加某些元素。我想在内存中构建这些元素,并能够选择是否写入xml文件。这可能吗?我正在使用C#WinForms。我已经看过XmlDocument了,它允许我在内存中构建一个完整的xml,但我不想这样做,因为它不适合大数据,也需要太多的内存。
答案 0 :(得分:2)
如果主要关注大数据量,XmlWriter
可能是理想的选择。 API可能不像XElement
等那样优雅,但它是最直接和最有效的机制,旨在用于激发单向数据流。
它有一个双胞胎,XmlReader
但是更难才能正确 - 由于处理传入的xml和适当地计算子树的复杂性。
答案 1 :(得分:1)
如果您有一个名为stream
的流,那么您可以通过
XmlWriter.Create(stream);
然后,您可以创建元素(类型为XmlElement
),并在要添加的每个元素上调用WriteTo
方法,并将{{1创建的XmlWriter作为参数传递}}