Aqui está como atualmente estou convertendo XMLDocument para String
StringWriter stringWriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);
xmlDoc.WriteTo(xmlTextWriter);
return stringWriter.ToString();
O problema com esse método é que, se eu tiver " ((aspas) que tenho em atributos), ele os escapará.
Por exemplo:
<Campaign name="ABC">
</Campaign>
Acima está o XML esperado. Mas retorna
<Campaign name=\"ABC\">
</Campaign>
Eu posso fazer String.Replace "\", mas esse método está bem? Há algum efeito colateral? Funcionará bem se o XML em si contiver um "\"
using
blocos e nãoXmlTextWriter
.Flush
, embora uma ligaçãoClose
ou apenas o fechamento doxmlTextWriter
using
bloco fizesse o mesmo.Supondo que xmlDoc é um objeto XmlDocument que está errado com xmlDoc.OuterXml?
A propriedade OuterXml retorna uma versão em cadeia do xml.
fonte
Se você estiver usando
Windows.Data.Xml.Dom.XmlDocument
versão deXmlDocument
(usada nos aplicativos da UWP, por exemplo), poderá usaryourXmlDocument.GetXml()
para obter o XML como uma sequência.fonte
Como método de extensão:
Agora, para usar simplesmente:
fonte
"
é mostrado como\"
no depurador, mas os dados estão corretos na cadeia e você não precisa substituir nada. Tente despejar sua string em um arquivo e você observará que a string está correta.fonte