简体   繁体   中英

c# XML avoid html encode using XDocument

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?

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, eg

new XElement("TagName", "The string has ", new XElement("br"), " in it.")

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM