代码之家  ›  专栏  ›  技术社区  ›  rjzii

使用StringBuilder与XMLDocument或与创建XML文档相关的优势是什么?

  •  1
  • rjzii  · 技术社区  · 14 年前

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

    这么明显的问题:这样做有什么好处,是应该根据具体情况来做,还是这是错误的做法?

    2 回复  |  直到 14 年前
        1
  •  6
  •   AdaTheDev    14 年前

    我建议使用 XMLTextWriter 要建立XML文档,请执行以下操作(引用自msdn):

    表示提供快速、非缓存、仅转发方式的写入程序 生成流或文件 包含符合以下条件的XML数据 W3C可扩展标记语言 (XML)1.0和XML中的命名空间 建议。

    我已经使用过很多次了——比起使用xmldocument,它的性能更高,而且使用了StringBuilder所不具备的XML安全性。

        2
  •  2
  •   Tom Cabanski    14 年前

    使用XML文档创建XML很困难,因此大多数人都不必费心使用它。StringBuilder很轻,但不知道XML,所以根本不验证结构。使用linq-to-xml可以获得两个方面的最佳效果。它允许您轻松地编写有效的XML,而无需过多的愚蠢开销。看看这个 article 如果您不熟悉使用LINQtoXML编写XML。