我的 Xml 属性的值为
select top(1) incidentid from Incident
。我将其传递给 XDocument.Parse(),但随后它会删除所有  
。怎么保存呢?
一个简单/hacky 的解决方案是将原始 XML 字符串中的
&
替换为 &
。但我怀疑这是否是正确的方法。
您要求这样做的事实可能意味着以下两件事之一:
 
,并且他们希望在查看时显示  
。select top(1)
),但您希望将该值嵌入到 HTML 上下文中,其中渲染将导致某些字符无法正确显示。如果 #1 为 true,您应该确保该值在出现在 XML 中之前进行编码 (
select top(1) incidentid from Incident
)。
#2 的可能性更大。在这种情况下,您应该保留 XmlDocument 的原样,并确保这些值在以 HTML 形式呈现时是 HTML 编码的。
var html = $"<p>{HttpUtility.HtmlEncode(value)}</p>"
。
我应该注意,这两个选项都不会自动导致浏览器按原样呈现缩进和间距。您可能必须使用具有
white-space: pre;
CSS 属性的 HTML 元素才能实现该功能。