什么时候可以使用XML文件来保存信息?

时间:2010-06-23 23:11:19

标签: c# .net xml

使用XML保存信息的原因是什么?

5 个答案:

答案 0 :(得分:12)

可能有很多原因:像任何其他文件格式一样,它有利有弊:

优点:

  • .Net本身支持将对象序列化为xml,并再次反序列化它们。
  • 对于人眼而言,它比二进制格式或JSON
  • 更具可读性和描述性
  • 可以根据架构轻松验证,以确保格式正确。
  • 可以使用其他工具加载和解析。
  • 与原生的.Net二进制序列化格式
  • 不同,它可以与其他平台/语言轻松互换
  • 它可以被转换,你可以在它上面运行xpath。

缺点:

  • 它比原生的.Net二进制序列化格式或JSON
  • 更冗长
  • 它不存储有关已反序列化为xml的类的类型信息,而本机二进制格式则存储类型信息。

答案 1 :(得分:9)

这是一个可移植的,可解析的标准。

因此,如果您有需要由多个不同程序(可能还有人)阅读的数据,您可以使用XML。

验证和转换(通过XSLT)到其他格式也相对容易。

显然你可以使用其他格式,但这并不能阻止你使用XML。

答案 2 :(得分:5)

反转你的问题可能是一个好主意:何时使用XML来保存信息是不是可以?

  • 当您只需要频繁附加数据时,规范示例是日志文件。 XML将要求您解析整个文档并找到正确的插入位置,以免破坏格式良好的结构

  • 当您只需要经常查询文件中的某些项目时。 XML随机访问文件的某些部分可能效率不高。使用一种格式可以更好地处理这种格式,该格式将频繁访问的信息存储在众所周知的偏移量中,这样就不需要解析文件。

  • 存储非分层的顺序数据时,通常有更好的XML替代方法。考虑图像,音频或视频文件格式。

答案 3 :(得分:3)

标准行是“用于人类可读计算机可读数据”

但是像JSON这样的其他格式不那么冗长,同样多才多艺。

答案 4 :(得分:2)

我们用它来保存我们的机器配置文件。我们在现场有很多机器可以通过多种不同方式进行配置。我们可以使用DataContract或Xml序列化程序,它易于实现。

我们的好处是,我们可以轻松地对这些文件进行区分,以查看机器之间的差异。