Que dois-je faire dans mon code C# ou dans mon document XML pour que l'analyseur XDocument lit les espaces littéraux pour Value
s de XElement
s?Comment préserver les caractères d'espaces lors de l'analyse XML à partir de C# LINQ
Contexte
J'ai un document XML, dont une partie ressemble à ceci:
<NewLineString> </NewLineString>
<IndentString> </IndentString>
J'ajoute les valeurs de chaque XELement
à un dictionnaire de données en utilisant un LINQ question; la partie .ForEach
ressemble à ceci:
.ForEach(x => SchemaDictionary.Add(
LogicHelper.GetEnumValue(x.Name.ToString()), x.Value));
Pour tester pour voir si les valeurs ont été préservées blancs, je l'impression d'une ligne des numéros de caractères de chaque élément de valeur dans le dictionnaire de données. Dans le code suivant, x
représente un KeyValuePair
et le Aggregate
fait simplement une chaîne des valeurs entières de caractères:
x.Value.ToCharArray()
.Aggregate<char,string>("",(word,c) => word + ((int)c).ToString() + " ")
));
Je me attendais à voir 10 13
pour la valeur <NewLineString>
et 32 32 32 32
pour la valeur <IndentString>
. Cependant, rien n'a été imprimé pour chaque valeur (note: d'autres valeurs d'échappement dans le XML telles que <
ont correctement imprimé leurs numéros de caractères).
Que dois-je faire dans mon code C# ou dans mon document XML pour que mon analyseur ajoute la chaîne d'espaces complète au dictionnaire de données?
Comment vous chargez le document XML? –