Une ligne est rarement un concept utile dans un document XML. Par exemple:
<foo>
<bar first="x"
second="y" />
</foo>
équivaut à
<foo>
<bar first="x" second="y" />
</foo>
Normalement, vous souhaitez interroger un document XML pour les différents éléments plutôt que des lignes. Une ligne serait beaucoup plus sensible dans un fichier .ini, cependant.
Quelle est la taille d'image supérieure? Qu'essayez-vous d'accomplir?
Si vous avez besoin de lire toutes les lignes d'un fichier texte (mais vous n'avez pas besoin tous en mémoire à la fois), je vous recommande d'utiliser File.OpenText
qui retourne un TextReader
, puis en appelant ReadLine()
et le traitement des chaînes de caractères que vous allez jusqu'à ce que la ligne renvoyée soit Nothing
(ce qui signifie que vous avez atteint la fin du fichier). N'oubliez pas d'enrouler le lecteur dans une instruction Using
.
EDIT: Si vous n'avez pas besoin d'autre chose dans le fichier, alors je écrirais juste une entrée par ligne et vous avez terminé. D'un autre côté, cela signifie que si vous avez besoin d'autres informations de configuration, vous devrez tout changer.
L'utilisation d'un fichier ini serait assez simple, mais il faudrait écrire le code pour l'analyser. (Il peut y avoir des bibliothèques tierces pour le faire pour vous, certes, j'en ai écrit une dans une société précédente, et cela n'a pas pris très longtemps.)
L'utilisation d'un fichier XML introduirait un peu plus de "fluff" autour des valeurs, mais il serait assez simple à lire, en particulier si vous utilisez .NET 3.5 et LINQ to XML. Par exemple, vous pourriez avoir un fichier comme celui-ci:
<Configuration>
<RegistryEntries>
<RegistryEntry>First</RegistryEntry>
<RegistryEntry>Second</RegistryEntry>
<RegistryEntry>Third</RegistryEntry>
</RegistryEntries>
</Configuration>
et obtenir la séquence d'entrées juste en faisant:
document.Root.Element("RegistryEntries")
.Elements("RegistryEntry")
.Select(e => e.Value);
Comme encore une autre alternative, vous pouvez utiliser la configuration/paramètres intégrés caractéristiques de .NET. Avez-vous essayé d'utiliser la partie "Paramètres" des propriétés du projet?
Les valeurs de ces lignes doivent représenter le nom d'une entrée de registre. Par exemple, nom, email etc. Et je ne veux pas hardcore les noms des entrées de registre au cas où ils changeraient.Peut-être que lire à partir d'un fichier ini serait mieux, même un fichier texte pourrait fonctionner. :) –