¿Cuál es la mejor manera de almacenar pares de valores clave agrupadas en un archivo?

StackOverflow https://stackoverflow.com/questions/1137270

  •  16-09-2019
  •  | 
  •  

Pregunta

Actualmente sólo tengo un archivo como este que yo analizo de forma manual en un diccionario:

str1=Hello
str2=World

Esto ya no es práctico por varias razones:

  • Necesito listas de cadenas que puedo tener acceso por el índice
  • Quiero dividir los pares de valores clave en grupos

Considero que el uso de XML ahora porque:

  • Bueno para pares de valores clave y grupos
  • Me podría usar clases y serializarlos, eliminando los errores de ortografía

Pero (suponiendo que utilizo clases con número de serie):

  • Tendría que crear una gran cantidad de nuevas clases para mapear la estructura del documento
  • Diccionarios necesitan ser atendidos especialmente debido a que el general no puede ser serializado

¿Usted recomienda este enfoque? Debería utilizar la clase XmlDocument en su lugar? ¿Hay algún otro formato que tiene bibliotecas libres para .NET?

Quiero usar esto para la localización de una aplicación.

¿Fue útil?

Solución

.NET tiene soporte basado en los recursos bastante sólido para localización , por lo que podría ver en eso.

Si realmente quiere inventar su propio formato de almacenamiento de recursos, les gustaría sugerir a mirar más de cerca JSON como formato de serialización (hay un montón de bibliotecas .NET manejarlo) o en YAML (no estoy seguro si hay analizadores .NET decente): ambos son mucho más simples en el ojo (si eso es lo que buscas) <. / p>

Otros consejos

archivo CSV sería agradable y compacto.

XmlDocument

No utilice XmlDocument a menos que sea absolutamente necesario. Está optimizado para la construcción de XML no leerlo. http://www.mattberther.com/2004/06/16 / XmlDocument-vs-XPathNavigator / Utilizar un XmlReader o un XPathNavigator. Si está leyendo en clases considerar hacer una serializar directo con XMLSerializer.

XML frente archivo plano

Sólo utilice XML si va a crear una jerarquía de objetos. Desde su descripción una simple línea por línea de leer de un archivo de texto sería suficiente. A continuación, puede dividir en la primera aparición de “=” y leerlo en un diccionario, una lista o una estructura personalizada. Será más rápido que el XML y más fácil de mantener.

Ortografía

No creo XML le ayuda con errores ortográficos.

Ubicación

se debe hacer con los archivos de recursos Echa un vistazo aquí http://www.codeproject.com/KB/dotnet/Localization. aspx o en SO https://stackoverflow.com/questions/tagged/localization+.net

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top