[英]Linq to XML - Render CDATA as HTML
我有以下XML:
<stories>
<story id="1234">
<title>This is a title</title>
<date>1/1/1980</date>
<article>
<![CDATA[<p>This is an article.</p>]]>
</article>
</story>
</stories>
以下是C#中的Linq to XML代碼:
@{
XDocument xmlDoc = XDocument.Load("foo.xml");
var stories = from story in xmlDoc.Descendants("stories")
.Descendants("story")
.OrderByDescending(s => (string)s.Attribute("id"))
select new
{
title = story.Element("title").Value,
date = story.Element("date").Value,
article = story.Element("article").Value,
};
foreach (var story in stories)
{
<text><div class="news_item">
<span class="title">@story.title</span>
<span class="date">@story.date</span>
<div class="story">@story.article</div>
</div></text>
}
}
呈現的HTML將輸出到瀏覽器:
<div class="news_item">
<span class="title">This is a title</span>
<span class="date">1/1/1980</span>
<div class="story"><p>This is an article.</p></div>
</div>
我希望將<p>
標記呈現為HTML到瀏覽器,而不是編碼。 我該如何做到這一點?
Razor默認編碼值。 您需要使用Html.Raw幫助程序來避免它( ASP.NET MVC Razor視圖中的Html.Raw() )
<div class="story">@Html.Raw(story.article)</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.