BCGSoft Professional Editor(BCGPEdit)是一款能让您将高级编辑控件合并到任何基于MFC的应用程序的MFC扩展库这个编辑器支持各种类型的应用程序,从简单的客户端到复杂的开发工具都可以集成这款编辑控件,我来为大家科普一下关于xml编辑器哪个好?下面希望有你要的答案,我们一起来看看吧!

xml编辑器哪个好(安卓xml最强编辑器)

xml编辑器哪个好

BCGSoft Professional Editor(BCGPEdit)是一款能让您将高级编辑控件合并到任何基于MFC的应用程序的MFC扩展库。这个编辑器支持各种类型的应用程序,从简单的客户端到复杂的开发工具都可以集成这款编辑控件。

本文介绍了与CBCGPOutlineParser一起使用的XML文件格式,以及编辑控件的自动概述功能,通过调用CBCGPEditCtrl::LoadOutlineParserXMLSettings来调用XML解析器。

用于大纲分析器的结构如下:

<SETTINGS><OUTLINE_DATA><IgnoreOneLineBlocks></IgnoreOneLineBlocks><EscapeSequences><EscapeSequence></EscapeSequence></EscapeSequences><BLOCKS><BLOCK><Start></Start><End></End><ReplaceString></ReplaceString><AllowNestedBlocks></AllowNestedBlocks><Ignore></Ignore></BLOCK></BLOCKS></OUTLINE_DATA></SETTINGS>

除了主要的“SETTINGS”标签外,没有其他强制性标签。

“OUTLINE_DATA”标签定义常规轮廓分析器设置。

  • “IgnoreOneLineBlocks”标签定义了编辑控件是否应将一个行块视为可折叠的,默认为“ False”。
  • “EscapeSequences” 标签定义转义序列的列表。
  • “EscapeSequence”标签表示单个转义序列。
  • “BLOCKS”标记用于该语言的语法定义。 每个块指定规则,轮廓分析器如何找到轮廓可折叠区域。 当您需要定义一组相同语言语法块的自动概述区域时,此方法很有用。 对于每个块,XML解析器将调用CBCGPOutlineParser::AddBlockType。
  • “BLOCK”标记表示单个块
    • “Start” – 定义BlockType::m_strOpen
    • “End” – 定义BlockType::m_strClose
    • “ReplaceString” – 定义BlockType::m_strReplace, 默认为”…”
    • “AllowNestedBlocks” – 定义BlockType::m_bAllowNestedBlocks,默认为”True”
    • “Ignore” – 定义BlockType::m_bIgnore,默认为“ False”

C ++的默认XML设置:

<SETTINGS><OUTLINE_DATA><IgnoreOneLineBlocks>True</IgnoreOneLineBlocks><IncludeSpaceLines>True</IncludeSpaceLines><EscapeSequences><EscapeSequence>\\\"</EscapeSequence></EscapeSequences><BLOCKS><BLOCK><Start>\\\"</Start><End></End><ReplaceString></ReplaceString><AllowNestedBlocks>False</AllowNestedBlocks><Ignore>True</Ignore></BLOCK><BLOCK><Start>\"</Start><End>\"</End><ReplaceString>\"\"</ReplaceString><AllowNestedBlocks>False</AllowNestedBlocks><Ignore>True</Ignore></BLOCK><BLOCK><Start>{</Start><End>}</End><ReplaceString>..</ReplaceString><KEYWORDS><Keyword>else</Keyword><Keyword>struct</Keyword><Keyword>enum</Keyword><Keyword>switch</Keyword><Keyword>catch</Keyword><Keyword>try</Keyword><Keyword>for</Keyword><Keyword>operator</Keyword><Keyword>class</Keyword><Keyword>if</Keyword><Keyword>union</Keyword><Keyword>do</Keyword><Keyword>while</Keyword><Keyword>namespace</Keyword></KEYWORDS></BLOCK><BLOCK><Start>{</Start><End>}</End><ReplaceString>...</ReplaceString></BLOCK><BLOCK><Start>//</Start><End>\n</End><ReplaceString>/**/</ReplaceString><AllowNestedBlocks>False</AllowNestedBlocks></BLOCK><BLOCK><Start>/*</Start><End>*/</End><ReplaceString>/**/</ReplaceString><AllowNestedBlocks>False</AllowNestedBlocks></BLOCK></BLOCKS></OUTLINE_DATA></SETTINGS>