1

这可能有点代码异味,但我已经看到它是一些生产代码,即在创建 XML 文档时使用StringBuilder而不是XmlDocument 。在某些情况下,这些是一次写入操作(例如,创建文档并将其保存到磁盘),而其他操作则将构建的字符串传递给 XmlDocument 以将XslTransform 转换为返回给客户端的文档。

如此明显的问题:以这种方式做事是否有好处,是否应该根据具体情况来做,或者这是错误的做事方式?

4

2 回答 2

6

我建议使用XMLTextWriter来构建 XML 文档(引用自 MSDN):

表示一个编写器,它提供了一种快速、非缓存、只转发的方式来生成包含符合 W3C 可扩展标记语言 (XML) 1.0 和 XML 中的命名空间建议的 XML 数据的流或文件。

我已经多次使用它——比使用 XMLDocument 性能更高,并且具有 StringBuilder 所没有的 XML 安全性。

于 2010-04-22T14:19:20.500 回答
2

XmlDocument 很难用于创建 XML,因此大多数人都懒得使用它。StringBuilder 重量轻,但不了解 XML,因此根本不验证结构。使用 LINQ to XML,您可以两全其美。它允许您轻松地创作有效的 XML,而无需太多愚蠢的开销。如果您不熟悉使用 Linq to XML 编写 XML,请查看这篇文章。

于 2010-04-22T14:06:58.777 回答