无法在 CKEditor 上显示 Xml SiteMap
Unable to display Xml SiteMap on CKEditor
Xml.cshtml
@Html.TextArea("", ViewData.TemplateInfo.FormattedModelValue.ToString())
<script type="text/javascript">
CKEDITOR.replace('@(ViewData.TemplateInfo.HtmlFieldPrefix)', {
allowedContent: true
});
</script>
视图模型
public class MyViewModel
{
public int Id { get; set; }
[UIHint("Xml")]
public string Xml { get; set; }
}
查看
@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);
}
在控制器内部,创建了站点地图并将包含 Xml
的视图模型发送到视图。在视图中,EditorFor
已成功转换为 CKEditor
。但问题是它删除了 Xml 标签并显示纯文本。如果我显示源,Xml
可以正常看到。
我刚刚安装了 CodeSnippet
插件并在 config.js
中添加了 config.extraPlugins = 'codesnippet';
但没有任何区别。
如何在 CKEditor 中将站点地图显示为 Xml?
CKEditor 是编辑 XML 文档的错误工具。
如果你稍微搜索一下,你会发现其他人已经尝试过了,但这恰恰违背了这个编辑器的目的,你将不得不做太多的自定义更改。
一般来说,不要尝试使用 HTML 编辑器来编辑 XML。搜索以 XML 设计的工具或使用纯文本区域
Xml.cshtml
@Html.TextArea("", ViewData.TemplateInfo.FormattedModelValue.ToString())
<script type="text/javascript">
CKEDITOR.replace('@(ViewData.TemplateInfo.HtmlFieldPrefix)', {
allowedContent: true
});
</script>
视图模型
public class MyViewModel
{
public int Id { get; set; }
[UIHint("Xml")]
public string Xml { get; set; }
}
查看
@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);
}
在控制器内部,创建了站点地图并将包含 Xml
的视图模型发送到视图。在视图中,EditorFor
已成功转换为 CKEditor
。但问题是它删除了 Xml 标签并显示纯文本。如果我显示源,Xml
可以正常看到。
我刚刚安装了 CodeSnippet
插件并在 config.js
中添加了 config.extraPlugins = 'codesnippet';
但没有任何区别。
如何在 CKEditor 中将站点地图显示为 Xml?
CKEditor 是编辑 XML 文档的错误工具。
如果你稍微搜索一下,你会发现其他人已经尝试过了,但这恰恰违背了这个编辑器的目的,你将不得不做太多的自定义更改。
一般来说,不要尝试使用 HTML 编辑器来编辑 XML。搜索以 XML 设计的工具或使用纯文本区域