Pregunta

El '&' en el texto se escape y se convierte en & Al crear el archivo XML usando XMLTextWriter pero no quiero que se realice la conversión, ¿cómo prevenirlo?

¿Hay alguna otra forma además de usar escritorw func de xmltextwriter?

¿Fue útil?

Solución

Si coloca un ampers y en XML, ya no es XML válido.

Sus dos opciones son escapadas (lo que está haciendo su biblioteca):

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

O envuélvalo en cdata:

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

que se puede hacer por:

xmlWriter.WriteCData("One & another");

Otros consejos

¿Por qué no quieres que esto suceda? Me parece que la biblioteca está haciendo cumplir la escapada correcta de carácter según lo requerido por XML.

No estoy seguro de si funcionará, pero es posible que desee verificar las propiedades XMLWriterSettings disponibles a través de XMLTextWriter.settings, especialmente la propiedad CheckCharacters.

Por otro lado, como mencionó Brian Agnew, no codificar la forma incorrecta de & to & podría ser la forma incorrecta, ya que invalidará su XML (a menos que ya lo haya codificado y en cuyo caso, es posible que desee decodificarlo antes de darlo a la clase XMLTextWriter.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top