Teníamos una vista (.cshtml) que representaba XML para una fuente RSS utilizando ASP.NET MVC 3, que funcionaba bien. Ahora que hemos actualizado a ASP.NET MVC 4 con Razor 2, está generando errores de compilación, similares a los que se muestran a continuación.ASP.NET MVC 4 y Razor 2: View Engine ya no es compatible con xml?
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Encountered end tag "item" with no matching start tag. Are your start/end tags properly balanced?
Las etiquetas están correctamente equilibradas.
¿Alguien tiene alguna idea?
ACTUALIZACIÓN: He aislado hacia abajo el elemento de laenlace dentro del elemento deartículo dentro de la @foreach (...) {...} bloque.
@foreach (var item in Model.Items)
{
<item>
<title>@item.Title</title>
<link>@item.Link</link>
<description>@item.Description</description>
<guid>@item.Guid</guid>
@if (item.PublishedDateUtc.HasValue)
{
<pubDate>@item.PublishedDateUtc.Value.ToString("ddd, dd MMM yyyy HH:mm:ss") GMT</pubDate>
}
</item>
}
me fijo haciendo uso de @ Html.Raw el siguiente.
@foreach (var item in Model.Items)
{
<item>
<title>@item.Title</title>
@Html.Raw(string.Format("<link>{0}</link>", item.Link.ToHtmlEncoded()))
<description>@item.Description</description>
<guid>@item.Guid</guid>
@if (item.PublishedDateUtc.HasValue)
{
<pubDate>@item.PublishedDateUtc.Value.ToString("ddd, dd MMM yyyy HH:mm:ss") GMT</pubDate>
}
</item>
}
¿Alguien tiene alguna sugerencia mejor? Obviamente, podría usar una clase para declarar el modelo y devolver el XML directamente desde el controlador, pero estoy más interesado en por qué ocurre este comportamiento y qué puedo hacer para conformarme mejor a la sintaxis de Razor.
Podría publicar la '' Tag el mensaje de error está hablando? –
Se actualizó la pregunta con la etiqueta y ** a ** solución provisional. ¿Alguna idea? –