如何在XML Literals(VB.NET)中阻止嵌入式表达式的HTML编码?

Lar*_*nal 7 vb.net xml-literals

使用以下代码:

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

...如果消息是HTML,则<和>字符将转换为&lt;&rt;.

如何强制它跳过此编码?

Cod*_*nis 7

message变量的类型是什么?如果messageXElement,那么就这样离开.ToString电话:

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

如果message是其他类型(如StringBuilder),那么这样做:

Dim x As System.Xml.Linq.XElement = _
    <div>
        <%= XElement.Parse(message.ToString()) %>
    </div>
Dim m = x.ToString()
Run Code Online (Sandbox Code Playgroud)