¿Qué tengo que hacer, ya sea en mi código C# o mi documento XML para que el analizador lee XDocument espacios en blanco literal para Value
s de XElement
s?¿Cómo puedo conservar los espacios en blanco al analizar XML desde C# LINQ
Antecedentes
tengo un documento XML, parte de la cual tiene el siguiente aspecto:
<NewLineString> </NewLineString>
<IndentString> </IndentString>
estoy añadiendo los valores de cada XELement
a un diccionario de datos utilizando un LINQ consulta; la parte .ForEach
se ve así:
.ForEach(x => SchemaDictionary.Add(
LogicHelper.GetEnumValue(x.Name.ToString()), x.Value));
Para probar para ver si se conservan los valores de espacio en blanco, estoy imprimiendo una línea de los números de caracteres de cada elemento de valor en el diccionario de datos. En el siguiente código, x
representa un KeyValuePair
y la Aggregate
es simplemente hacer una cadena de los valores enteros de caracteres:
x.Value.ToCharArray()
.Aggregate<char,string>("",(word,c) => word + ((int)c).ToString() + " ")
));
esperaba ver 10 13
para el valor <NewLineString>
y 32 32 32 32
para el valor <IndentString>
. Sin embargo, no se imprimió nada para cada valor (nota: otros valores escapados en el XML como <
imprimieron correctamente sus números de caracteres).
¿Qué debo hacer en mi código C o en mi documento XML para que mi analizador agregue la secuencia completa de espacios en blanco al diccionario de datos?
¿Cómo estás cargando el documento XML? –