0

目前我只有一个像这样的文件,我手动解析成字典:

str1=Hello
str2=World

由于以下几个原因,这不再实用:

  • 我需要可以按索引访问的字符串列表
  • 我想将键值对分成组

我现在考虑使用 XML,因为:

  • 适用于键值对和组
  • 我可以使用类并将它们序列化,从而消除拼写错误

但是(假设我使用序列化类):

  • 我必须创建很多新类来映射文档结构
  • 字典需要特别照顾,因为通常不能连载

你推荐这种方法吗?我应该改用 XmlDocument 类吗?是否有其他格式具有 .net 的免费库?

我想用它来本地化应用程序。

4

3 回答 3

5

.NET 为本地化提供了非常可靠的基于资源的支持,因此您可以研究一下。

如果您真的想发明自己的资源存储格式,我建议您更仔细地查看JSON作为序列化格式(有很多 .NET 库可以处理它)或 YAML(不确定是否有像样的 .NET解析器):它们在眼睛上都更简单(如果那是你所追求的)。

于 2009-07-16T12:41:19.600 回答
0

一个CSV 文件会很好而且很紧凑。

于 2009-07-16T12:42:24.203 回答
0

xml文档

除非绝对需要,否则不要使用 XmlDocument。它针对构造 xml 而不是读取它进行了优化。http://www.mattberther.com/2004/06/16/xmldocument-vs-xpathnavigator/ 使用 XmlReader 或 XPathNavigator。如果您正在阅读课程,请考虑使用 XMLSerializer 进行直接序列化。

Xml 与平面文件

只有在创建对象层次结构时才使用 XML。根据您的描述,逐行读取文本文件就足够了。然后,您可以在第一次出现“=”时进行拆分,并将其读入字典、列表或某些自定义结构。它将比 XML 更快并且更易于维护。

拼写

我不认为 XML 可以帮助您解决拼写错误。

本土化

应该使用资源文件来查看这里http://www.codeproject.com/KB/dotnet/Localization.aspx 或在 SO https://stackoverflow.com/questions/tagged/localization+.net

于 2009-07-16T12:51:11.727 回答