2008-11-12 14 views
7

con el siguiente código:Cómo evitar la codificación HTML para expresiones incrustadas en XML Literals (VB.NET)?

Dim x As System.Xml.Linq.XElement = _ 
<div> 
<%= message.ToString() %> 
</div> 
Dim m = x.ToString() 

... si el mensaje es HTML, entonces el < y> caracteres se convierten a &lt; y &rt;.

¿Cómo puedo forzar a saltar esta codificación?

+1

Wow, ha sido en su conjunto año, ¡pero no es demasiado tarde para aceptar una respuesta para esta pregunta! – CoderDennis

Respuesta

7

¿Cuál es el tipo de la variable de message? Si message es un XElement, entonces simplemente dejar fuera de la convocatoria .ToString así:

Dim x As System.Xml.Linq.XElement = _ 
    <div> 
     <%= message %> 
    </div> 
Dim m = x.ToString() 

Si message es algún otro tipo (como StringBuilder), a continuación, hacer esto:

Dim x As System.Xml.Linq.XElement = _ 
    <div> 
     <%= XElement.Parse(message.ToString()) %> 
    </div> 
Dim m = x.ToString() 
1

Usted necesidad de abrir el snippit HTML como un documento XML y añadir el nodo de documento con el nodo Div que está creando.

Si desea agregar XML (o HTML) a un documento XML existente, entonces hay que añadir que como XML y no como texto (causa que consigue codificado).

Cuestiones relacionadas