Pergunta

O '&' no texto é escapar e é convertido para & Ao criar o arquivo XML usando o XMLTextWriter, mas não quero que a conversão ocorra como evitá -lo?

Existe alguma outra maneira além de usar o WriterAw Func of XMLTextWriter?

Foi útil?

Solução

Se você colocar um ampers e inquilino em XML, não é mais válido XML.

Suas duas opções são escapar (o que sua biblioteca está fazendo):

<tag>One &amp; another</tag>

Ou envolva -o em CDATA:

<tag><![CDATA[One & another]]></tag>

o que pode ser feito por:

xmlWriter.WriteCData("One & another");

Outras dicas

Por que você não quer que isso aconteça? Parece -me que a biblioteca está aplicando o caractere correto escapando conforme exigido pelo XML.

Não tenho certeza se funcionará, mas você pode verificar as propriedades XMLWriterSettings disponíveis no XMLTextWriter.Settings, especialmente a propriedade CheckCharacters.

Por outro lado, como Brian Agnew mencionou, não codificando o & para & pode ser o caminho errado a seguir, pois invalidará seu XML (a menos que você já o codificasse e, nesse caso, você pode apenas decodificá -lo antes de dar para a classe XMLTextWriter.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top