Saltar al contenido

XDocument agrega retorno de carro al generar xml final string

Te sugerimos que revises esta solución en un ambiente controlado antes de pasarlo a producción, saludos.

Solución:

XNode.ToString es una conveniencia que utiliza un XmlWriter debajo de las sábanas: puede ver el código en la fuente de referencia.

Según la documentación para XmlWriterSettings.NewLineHandling:

La configuración Reemplazar le dice a XmlWriter que reemplace los caracteres de nueva línea con rn, que es el nuevo formato de línea utilizado por el sistema operativo Microsoft Windows. Esto ayuda a garantizar que el Bloc de notas o las aplicaciones de Microsoft Word puedan mostrar correctamente el archivo. Esta configuración también reemplaza nuevas líneas en attributes con entidades de caracteres para conservar los caracteres. Este es el valor predeterminado.

Entonces, esta es la razón por la que está viendo esto cuando convierte su elemento nuevamente en un string. Si desea cambiar este comportamiento, tendrá que crear el suyo propio. XmlWriter contigo mismo XmlWriterSettings:

var settings = new XmlWriterSettings

    OmitXmlDeclaration = true,        
    NewLineHandling =  NewLineHandling.None
;

string xmlString;

using (var sw = new StringWriter())

    using (var xw = XmlWriter.Create(sw, settings))
    
        doc.Root.WriteTo(xw);                    
    
    xmlString = sw.ToString();

Has probado:

cómo eliminar retornos de carro, saltos de línea, espacios de un string

string result = XElement.Parse(input).ToString(SaveOptions.DisableFormatting);
Console.WriteLine(result);

Nos encantaría que puedieras dar recomendación a este escrito si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.