我用的是XmlSerializer当我使用跨越有人来了XmlTextWriter。
这两者有什么区别?
对我来说,它们提供相同的功能,即创建 XML 文件。微软网站说它XmlTextWriter提供了一种快速、非缓存、只进的生成流的方式,但我真的不知道这意味着什么。
该XmlTextWriter班是知道XML的对象。您可以使用它来生成任意 XML 文档。数据来自哪里并不重要;您可以从您认为合适的任何来源提取 XML 元素、属性和内容的数据以及 XML 文档的实际结构,并且不需要匹配任何特定对象的结构或数据。
另一方面XmlSerializer是一个知道类型的对象。它具有分析类型、提取重要信息并将该信息写出所需的功能。它恰好能够使用一个XmlTextWriter对象来执行实际的 I/O;你可以提供你自己的,或者在某种程度上它总是会创建一个类似的对象来处理实际的 I/O。换句话说,序列化程序对象本身并不真正了解 XML,也不需要。它将这项工作委托给另一个对象。
微软网站说它
XmlTextWriter提供了一种快速、非缓存、只进的生成流的方式,但我真的不知道这意味着什么。
这与生成 XML 文档的其他方法形成对比,在这些方法中,整个文档结构在构建时保存在内存中,并且仅在整个文档构建完成后才写入文件。这通常被描述为“文档对象模型”或 DOM。
编写器方法在性能方面往往更高效,因为 XML 数据是根据需要直接从您已有的其他内存数据结构动态生成的。因为 DOM 方法要求将整个文件的数据和结构一次表示在内存中,所以它通常会使用更多的内存,这在某些情况下会降低性能(尽管坦率地说,在现代计算机和典型的 XML 文档上,这通常是完全没有问题)。
| 归档时间: |
|
| 查看次数: |
1320 次 |
| 最近记录: |