我有一个字符串,我需要将其转换为XML,并且在大多数情况下,它适用于<或>,但不适用于≥或≤字符。
输入字符串为:
Lorem ipsum dolor sit amet <65 Lorem ipsum dolor sit amet, ≥65 Lorem ipsum dolor sit amet
<span>@Html.Encode(indication.Sentence.CompiledTextTitleCase)</span>
输出字符串为:
Lorem ipsum dolor sit amete <65 Lorem ipsum dolor sit amet ≥65 Lorem ipsum dolor sit amet
您知道为什么会发生这种情况吗?
答案 0 :(得分:1)
尽管<
和>
在html中有特殊含义(标记的开始/结束,例如<title>
),但≥
没什么特别的。这就是为什么您必须编码前者,而后者却按原样工作的原因。
话虽如此,Html.Encode
只会对具有特殊含义的字符进行编码,因此在读取数据时可能会误解。在客户端,您会收到以下代码:
<span>Lorem ipsum dolor sit amete <65 Lorem ipsum dolor sit amet ≥65 Lorem ipsum dolor sit amet</span>
其中<65
将被打印为<
。
如果您将未编码的<
发送给客户,则会得到以下信息:
<span>Lorem ipsum dolor sit amete <65 Lorem ipsum dolor sit amet ≥65 Lorem ipsum dolor sit amet</span>
由于上述原因,它不是有效的html。
所以这里没有什么要固定的。