Así es como actualmente estoy convirtiendo XMLDocument a String
StringWriter stringWriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);
xmlDoc.WriteTo(xmlTextWriter);
return stringWriter.ToString();
El problema con este método es que si tengo " ((comillas) que tengo en los atributos) se les escapa.
Por ejemplo:
<Campaign name="ABC">
</Campaign>
Arriba está el XML esperado. Pero vuelve
<Campaign name=\"ABC\">
</Campaign>
Puedo hacer String.Replace "\" pero ¿está bien ese método? ¿Hay algún efecto secundario? ¿Funcionará bien si el propio XML contiene un "\"
using
bloques y noXmlTextWriter
.Flush
, aunque una llamadaClose
ao simplemente cerrando elxmlTextWriter
using
bloque lograría lo mismo.Suponiendo que xmlDoc es un objeto XmlDocument, ¿qué tiene de malo xmlDoc.OuterXml?
La propiedad OuterXml devuelve una versión de cadena del xml.
fuente
Si está utilizando la
Windows.Data.Xml.Dom.XmlDocument
versión deXmlDocument
(utilizada en aplicaciones para UWP, por ejemplo), puede utilizarlayourXmlDocument.GetXml()
para obtener el XML como una cadena.fuente
Como un método de extensión:
Ahora para usar simplemente:
fuente
"
se muestra como\"
en el depurador, pero los datos son correctos en la cadena y no necesita reemplazar nada. Intente volcar su cadena en un archivo y notará que la cadena es correcta.fuente