c# XML avoid html encode using XDocument

2019-07-19 03:04发布

After creating an xml file using XDocument I end up with:

<![CDATA[text]]>

and

<br />

But I want to keep these as HTML, how do I stop this?

1条回答
Summer. ? 凉城
2楼-- · 2019-07-19 03:46

I assume you are passing a string to an XDocument or XElement constructor somewhere, where that string contains XML. Don't. Instead, use XDocument.Parse(string) or XElement.Parse(string).

See http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.parse.aspx and http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.parse.aspx

Note that this will only work for HTML that happens to be well-formed XML, obviously.

For example:

XElement.Parse("<TagName>The string has <br /> in it.</TagName>")

If you statically know the text, just build it up using constructor calls, e.g.

new XElement("TagName", "The string has ", new XElement("br"), " in it.")
查看更多
登录 后发表回答