我有字符串 s ,它看起来像是:
<root><p>hello world</p> my name is!</root>
我有下一个代码:
try
{
m_Content = XDocument.Load(new StringReader(s));
}
catch (XmlException ex)
{
ex.Data["myerror"] = s;
throw;
}
如您所见,我想加载包含
等所有元素的字符串并进行查看。但是我有XmlException:
将未声明的替换引用到“nbsp”
任何想法如何正确做到?
ChrisShao提出了一个好主意:将我的字符串放在<![CDATA[
标记中,但遗憾的是它并没有解决我的问题。我有一个包含大量标签的大字符串和几个大文本,我可以在其中遇到
个元素。如果使用System.Web.HttpUtility.HtmlDecode
,我会丢失所有这些元素并获取“”字段。
答案 0 :(得分:3)
回复已添加部分。您获得的空白(" "
)字段在呈现时是
的正确表示。正确编码
以便在xml中使用 
[Reference]。
如果您希望在字符串加载到
时看到" "
而不是XDocument
,请尝试使用&
编码&符号&
} 。将
替换为&nbsp;
[Reference]。
答案 1 :(得分:0)
我认为你应该将你的字符串放入CDATA块,如下所示:
<root><![CDATA[<p>hello world</p> my name is!]]></root>
答案 2 :(得分:0)
使用System.Web.HttpUtility.HtmlDecode或System.Net.WebUtility.HtmlDecode