Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在编辑器上显示Xml站点地图_Xml_Asp.net Mvc_Ckeditor - Fatal编程技术网

无法在编辑器上显示Xml站点地图

无法在编辑器上显示Xml站点地图,xml,asp.net-mvc,ckeditor,Xml,Asp.net Mvc,Ckeditor,Xml.cshtml @Html.TextArea("", ViewData.TemplateInfo.FormattedModelValue.ToString()) <script type="text/javascript"> CKEDITOR.replace('@(ViewData.TemplateInfo.HtmlFieldPrefix)', { allowedContent: true }); </script> 看法 控制器 public A

Xml.cshtml

@Html.TextArea("", ViewData.TemplateInfo.FormattedModelValue.ToString())
<script type="text/javascript">
    CKEDITOR.replace('@(ViewData.TemplateInfo.HtmlFieldPrefix)', {
    allowedContent: true
});
</script>
看法

控制器

public ActionResult MyAction()
{
     var sitemap = new XDocument(
     new XDeclaration("1.0", "utf-8", "yes"),
     new XElement(ns + "urlset",
        new XElement(ns + "url",
        new XElement(ns + "loc", "example.com"),
        new XElement(ns + "lastmod", String.Format("{0:yyyy-MM-dd}", DateTime.Now)),
        new XElement(ns + "changefreq", "Weekly"),
        new XElement(ns + "priority", "0.5")
     )));
     var viewModel = new MyViewModel();
     viewModel.Id = 5;
     viewModel.Xml = sitemap.ToString();    
     return View(viewModel);
}
在控制器内部,创建了站点地图,并将保存
Xml
的viewmodel发送到视图。在视图中,
EditorFor
已成功转换为
CKEditor
。但问题是它删除了Xml标记并显示纯文本。如果显示源代码,
Xml
。 我刚刚安装了
codesippet
插件并添加了
config.extraPlugins='codesippet'
config.js
中,但没有任何区别。
如何在CKEditor中将站点地图显示为Xml?

CKEditor是错误的编辑Xml文档的工具

如果你搜索一下,你会发现其他人已经尝试过了,但是这与这个编辑器的目的背道而驰,你将不得不做太多的自定义更改

一般来说,不要尝试使用HTML编辑器来编辑XML。搜索为XML设计的工具或使用纯文本区域

@model Project1.ViewModels.MyViewModel
@Html.EditorFor(model=>model.Xml)
public ActionResult MyAction()
{
     var sitemap = new XDocument(
     new XDeclaration("1.0", "utf-8", "yes"),
     new XElement(ns + "urlset",
        new XElement(ns + "url",
        new XElement(ns + "loc", "example.com"),
        new XElement(ns + "lastmod", String.Format("{0:yyyy-MM-dd}", DateTime.Now)),
        new XElement(ns + "changefreq", "Weekly"),
        new XElement(ns + "priority", "0.5")
     )));
     var viewModel = new MyViewModel();
     viewModel.Id = 5;
     viewModel.Xml = sitemap.ToString();    
     return View(viewModel);
}