【发布时间】:2019-03-01 04:27:39
【问题描述】:
如何从 ckeditor 获取输出为 XML 而不是 HTML?
我以为我可以使用
editor.data.processor=new XmlDataProcessor(); 但这似乎只适用于编辑器现在在调用 editor.setData() 时需要 XML 但 editor.getData() 仍返回 HTML 而不是 XML 的输入。数据不包含在根元素中,<img> 标签未关闭。
应该转换为 XML 的 toData 方法实现如下,因为它尝试使用 _htmlWriter 转换为 XML,所以它看起来不像可以工作的东西。所以它看起来就像一个从未实现过的功能。
toData( viewFragment ) {
// Convert view DocumentFragment to DOM DocumentFragment.
const domFragment = this._domConverter.viewToDom( viewFragment, document );
// Convert DOM DocumentFragment to XML output.
// There is no need to use dedicated for XML serializing method because BasicHtmlWriter works well in this case.
return this._htmlWriter.getHtml( domFragment );
}
【问题讨论】:
-
你试过使用toData/toView吗? ckeditor.com/docs/ckeditor5/latest/api/…
-
@DipenShah 那也行不通。它只返回 html(请参阅我的编辑)。我想问题只是没有编写转换为 xml 的代码,所以我现在将填写错误报告
-
它被写成:github.com/ckeditor/ckeditor5-engine/blob/master/src/… ...虽然 CDN 构建中可能缺少它。从源代码构建应该是这里的答案。
-
是的,该类存在,但 github 上的类仍然使用 this._htmlWriter.getHtml( domFragment ) 将数据“转换”为 xml,这不起作用。
标签: javascript xml ckeditor ckeditor5