代码之家  ›  专栏  ›  技术社区  ›  Amareswar

使用ckeditor中的XML代码段

  •  1
  • Amareswar  · 技术社区  · 14 年前

    我正在我的应用程序中使用ckeditor,用户可以在其中撰写博客、创建页面等。 编辑器禁用源模式。保存内容后,不会保留在编辑器文本区域中写入XML的操作。我清楚地看到,内容得到了HTML编码,并将其作为输入提供给Keckeditor的文本区域。

    2 回复  |  直到 11 年前
        1
  •  2
  •   Community Ian Goodfellow    7 年前

    按设计工作。无论您进入WYSIWYG区域,都将得到HTML编码。你想如何表现得与众不同?

    如果您想要一个用于编写XML的文本编辑器,也许这个问题的答案是有用的: Textarea that can do syntax highlighting on the fly?

        2
  •  0
  •   user535673    11 年前

    我也希望Keckeditor支持XML标记,但我理解您不能只在主窗口中键入它们——这里键入的任何内容都假定是实际内容,而不是标记,因此会被编码。

    我想要什么 喜欢 要做的是定义一个样式列表,该列表会使用我选择的标记,例如,如果用户选择“示例”样式,则ckeditor会这样做 <x>content</x> . 不幸的是,尽管对dtd.js文件进行了黑客攻击,但我在这方面并没有取得太大的成功。

    我当前的解决方案是定义一个样式列表,但将它们映射到一个标准的HTML标记,然后将我所需的XML标记名作为属性放入。然后我需要编写一些XSLT来稍后转换数据。

    CKEDITOR.stylesSet.add('myStyles',
    [{
      name: 'Example sentence', 
      element: 'span', 
      attributes: {'class': 'example', 'data-xmlTag': 'x'} 
    }];        
    
    config.stylesSet = 'myStyles'; 
    

    element 指定标准HTML标记“I use” <span> 如果我希望XML是内联的并且 <div> 如果我希望它是块级的。这个 data-xmlTag 属性说明了我实际想要使用的XML标记( x 在这种情况下)。这个 class 允许我在CSS中定义一些样式,这意味着我可以在一个类名下对几个XML标记进行分组。要定义一些CSS:

    config.contentsCss = CKEDITOR.basePath+'tagStyles.css';