我正在尝试使用VB.Net的Xml Literals作为生成HTML的模板系统。我想知道是否有任何方法来控制逃逸。例如,如果我的代码类似于以下
Dim param1Value as String = "test"
Dim html = <div>
<a id="myLink" href="<%= "/mysite/myfile?param1=" + param1Value + "¶m2=test2" %>"
</div>
这将生成带有&符号xml编码(&
)的链接。目前,我只是在将xmlElement转换为字符串时取消转义。我假设这是我唯一的选择,因为其他任何东西产生无效的XML,但我想知道是否有任何方法来指定XML Literal是原始值并且不需要Xml Escaped。
答案 0 :(得分:1)
多年前,我创建了一个ASP.NET MVC View Engine using VB.NET XML Literals,我必须解决这个问题。没有办法告诉vb.net
的Xml文字部分忽略&
个字符。我的特殊情况是尝试在Xml文字中包含HTML实体(如©
)。
我最终得到的是在XML Literal中需要<amp />
字符的所有地方使用&
,然后在呈现HTML时只执行.Replace("<amp />", "&")
。请参阅VbView.vb中的Render
方法。