皮皮网

皮皮网

【商城html免费源码】【发论文源码】【结绳编辑源码】xml编辑器源码_开源xml编辑器

时间:2024-12-28 19:28:57 分类:知识

1.9 个爱不释手的编l编 JSON 工具
2.开发者指南如何在MyEclipse中使用 XML编辑器
3.文本编辑器简介
4.ultraedit功能
5.如何为 Editor 开发 Eclipse Outline 视图
6.如何在Eclipse中开发XML可视化编辑器

xml编辑器源码_开源xml编辑器

9 个爱不释手的 JSON 工具

       阅读本文大概需要 3.2 分钟。

       来自: developer.cto.com/art...

       JSON因其易于使用和机器解析生成而受到开发者青睐,辑器辑器吸引了众多工具构建者的源码关注。这些工具涵盖了从在线实用程序到代码编辑器和IDE插件,开源以下介绍了九款精选JSON工具。编l编

       JSONLint:CircleCell开发的辑器辑器商城html免费源码在线验证和重新格式化工具,可验证和解析“混乱”的源码JSON代码,并用作压缩工具。开源访问:jsonlint.com/,编l编源代码:github.com/circlecell/j...

       JSONCompare:CircleCell开发的辑器辑器JSON验证工具,可上传和验证多个批处理JSON文件,源码比较和合并JSON对象。开源访问:jsoncompare.com/,编l编源代码:github.com/circlecell/j...

       jtc:JSON测试控制台,辑器辑器用于提取、源码处理和转换源JSON,支持Linux和MacOS编译二进制文件下载。访问:github.com/ldn-softdev/...

       ijson:基于Python的迭代JSON解析工具,提供多种实际解析实现,访问:pypi.org/project/ijson/#...

       JSON格式化和验证器:在线格式化工具,美化JSON以便阅读和调试,访问:jsonformatter.curiousconcept.com...

       Altova XMLSpy JSON和 XML编辑器:提供XML相关技术的编辑、建模、转换和调试工具,访问:altova.com/xmlspy-xml-e...

       Code Beautify JSON工具:提供JSON查看器、编辑器、发论文源码验证器及转换器,还提供在线脚本编辑器、美化器等,访问:codebeautify.org/json-t...

       Visual Studio Code:微软代码编辑器,内置支持编辑JSON文件的功能,访问:code.visualstudio.com/D...

       Eclipse JSON编辑器插件:面向Eclipse IDE的免费JSON编辑器插件,提供语法高亮、代码折叠、格式化和编辑等功能,访问:marketplace.eclipse.org...

开发者指南如何在MyEclipse中使用 XML编辑器

       在MyEclipse中使用XML编辑器提供了丰富的高级功能,包括Web XML编辑,使开发者能够高效地编辑和管理XML文件。当创建Web项目时,MyEclipse会自动在Web-inf文件夹中生成默认的Web.xml文件,您可以通过在Project Explorer中双击文件来打开。使用WebDeployment Descriptor编辑器,开发者可以方便地查看和编辑文件内容,即使在设计视图中进行更改,文件也会自动更新。

       MyEclipse Web XML编辑器支持两种编辑模式:设计模式和源模式。设计模式以树形结构展示文件内容,提供直观的导航,并允许开发者在不需要担心语法问题的情况下添加、删除或编辑标记。设计模式的结绳编辑源码可视化功能确保插入有效标记,避免无效操作。例如,在设计模式中,添加"context-param"参数的操作会遵循文档引用的Schema限制。设计模式下,双击字段即可直接编辑内容,无需切换到源代码模式。

       源模式提供直接的XML源代码编辑,与设计模式相比,它更加灵活,但需要开发者具备一定的XML语法知识。源模式下,错误会被标记,内容辅助功能根据当前位置和引用的DTD或架构提供建议,帮助开发者避免错误和提高效率。

       在使用XML编辑器时,开发者可以依赖于对DTD或Schema的引用,以确保工作的验证和内容辅助。MyEclipse为普通XML文件提供基本的编辑功能,如语法高亮和验证,但对于不提供DTD或Schema的文件,某些高级功能可能不可用。

       通过以上功能,MyEclipse XML编辑器为开发者提供了强大的工具,使得在Web开发环境中高效管理XML文件成为可能。视力管理源码如果您有任何问题或需要深入了解,欢迎在评论或私信中提问,并期待在官方社群与您交流。

文本编辑器简介

       文本编辑器是用于编辑文本文件的软件工具,常见的系统下有多种文本编辑器可供选择。不同操作系统支持的编辑器有所不同,以下是对常见系统下文本编辑器的介绍。

       在Windows系统中,记事本是最常用的文本编辑器。用户可以通过“开始/运行”输入“edit”命令启动文本编辑器,也可以在命令提示符(cmd)下输入“edit”命令进入。文本编辑器的界面类似于C语言的编辑器,提供了一种简单实用的文本编辑方式。

       在Mac OS X系统中,文本编辑器(TextEdit.app)是默认的文本编辑工具。用户可以在“磁盘”下的“应用程序”文件夹或通过“Launchpad”(对于Mac OS X Lion .7及以上版本)找到并打开文本编辑器。文本编辑器支持多种文本格式,包括.rtf、.rtfd、.html、.webarchive、.odt、.docx、.xml、.doc和纯文本(.txt)文件的源码大盏创建与编辑。同时,用户还可以导出为PDF格式的便携文档。文本编辑器能够打开几乎所有与Mac OS X兼容的文稿格式,并在Mac OS X Lion系统下支持格式化功能。

       在Linux系统中,用户有多种文本编辑器可供选择,包括vi、emacs、gedit和DOS下的edit等。这些编辑器提供了丰富的功能和定制选项,满足不同用户的需求。例如,vi和emacs是全功能的文本编辑器,具有强大的文本处理功能和脚本编写能力;gedit是面向用户友好的图形化文本编辑器,提供直观的界面和丰富的预览功能。

       总的来说,文本编辑器是用于编写、修改和管理文本文件的强大工具。根据操作系统和用户需求的不同,可以选择合适的文本编辑器。从Windows的记事本、Mac OS X的TextEdit,到Linux下的多种编辑器,它们都为用户提供了一个高效、灵活的文本编辑环境。

扩展资料

       文本编辑器(或称文字编辑器)是用作编写普通文字的应用软件,它与文档编辑器(或称文字处理器)不同之处在于它并非用作桌面排版(例如文档格式处理)。它常用来编写程序的源代码。

ultraedit功能

       UltraEdit是一款功能全面且灵活好用的文本编辑器,特别适合源代码编写。它能用作普通文本文件编辑器、批处理文件编辑器,以及C、C++、Java、JSP、HTML、XML等源代码编辑器。支持本地文件或通过FTP远程操作文件。

       UltraEdit能对文本文件进行排序,支持自定义排序方式;对进制文件进行字节修改;对文件内容进行整体操作,如格式转换、内容编辑等;统计文本文件或源代码文件的字符、词数量;对项目进行操作。

       作为源代码编辑器,UltraEdit提供语法着色,使用户清晰区分代码成分。支持JAVA、PERL、HTML、XML、C#、C/C++、Visual Basic等语言的语法着色,适合直接编写代码。用户可以自定义着色方式,甚至增加不认识的语言进行着色。

       在编辑JAVA程序时,UltraEdit能识别关键词并进行着色,区分变量和字符串等。新版本支持自动完成文件配置,实现IDE的自动补全功能。对于HTML、JSP、ASP等文件,UltraEdit能区分scriptlet和HTML代码,并进行着色,提供HTML TAG和特殊字符的全面支持,方便查找和使用。

       UltraEdit具备丰富的编辑功能,包括查找、替换、搜索、正则表达式查找、进制编辑、书签定义、滚动到特定行、只读设置、括号匹配、文件信息查看、空格清除、自动缩行、大小写转换、文件格式转换等。

       UltraEdit拥有特色功能,如插入颜色、插入当前时间、ASCII码查找、拼写检查、行排序、内容发送至邮箱、文件比较、行选择模式和区域选择等。其强大的编辑功能可以与优秀IDE相媲美,支持通过配置javac和java命令实现直接编译和运行代码。

       UltraEdit支持FTP方式工作,用户可以编辑远程服务器上的文件,编辑完成后通过FTP保存,特别适用于JSP、ASP、HTML等文件的编写。

       配置编译器和运行指令在高级->工具配置菜单中完成。用户可以自定义命令行输入,指定工作目录,实现编译和运行功能。

扩展资料

       UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有 HTML 标签颜色显示、搜寻替换以及无限制的还原功能,一般用其来修改EXE 或 DLL 文件。能够满足你一切编辑需要的编辑器。

如何为 Editor 开发 Eclipse Outline 视图

       å®šåˆ¶ Outline 视图开发实例

       æœ¬èŠ‚将通过实现一个简单的 XML 文档编辑器及其 Outline Page 来说明如何为 Editor 开发其 Outline 视图。图 3 展示了实例完成时的效果,图片左侧为一个简单的 XML 文本编辑器,右侧的 Outline 视图将文档的 XML 结点以树型的方式展现出来。

       å›¾ 3. XML Editor 及 Outline 视图

       ç¬¬ä¸€æ­¥ï¼Œæž„建 XML 文档编辑器。XML 文档用来存储、传送及携带数据信息,不用来表现及展现数据。因此在本文的例子中的,我们将 XML 文档编辑器视为一个文本编辑器,通过继承 org.eclipse.ui.editors.text.TextEditor 来实现我们自己的 XML 编辑器。同时我们通过 org.eclipse.core.contenttype.contentTypes 扩展点为 xml 文件绑定为我们自定义的一种内容类型,并将其绑定到我们的新建的编辑器上,当打开后缀为 .xml 的文件时,该编辑器将会被初始化。

       æ¸…单 2. Editor 扩展点定义

       <plugin>

          <extension

                point="org.eclipse.ui.editors">

             <editor

                   class="cn.com.hf.outline.editor.XMLEditor"

                   default="true"

                   extensions="xml"

                   id="cn.com.hf.outline.XMLEditor"

                   name="XMLEditor">

                <contentTypeBinding

                      contentTypeId="cn.com.hf.outline.xmlfile">

                </contentTypeBinding>

             </editor>

          </extension>

          <extension

                point="org.eclipse.core.contenttype.contentTypes">

             <content-type

                   id="cn.com.hf.outline.xmlfile"

                   name="XMLFile"

                   priority="high">

             </content-type>

             <file-association

                   content-type="cn.com.hf.outline.xmlfile"

                   file-extensions="xml">

             </file-association>

          </extension>

        </plugin>

       ç¬¬äºŒæ­¥ï¼Œæˆ‘们该为 Editor 构建 Content Outline Page,用于在 Outline 视图中展于 Editor 中的内容元素。作为 Outline Page,我们需要实现 IContentOutlinePage 接口。我们可以将 XML 文档中的数据构造成一个树型的结构。因此,我们采用 TreeViewer 作为我们 Outline Page 中的主要的 UI 元素。Eclipse 框架为我们提供了一个默认的包含树状视图的 ContentOutlinePage,该类为抽象类,我们通过继承该类来实现我们需要的大纲视图页面。

       æ¸…单 3. XMLOutlinePage.java

       public class XMLOutlinePage extends ContentOutlinePage{

           @Override

           public void createControl(Composite parent) {

               super.createControl(parent);

               this.getTreeViewer().setLabelProvider(new XMLOutlineLabelProvider());

               this.getTreeViewer().setContentProvider(new XMLOutlineContentProvider());

           }

        }

       å¤§çº²é¡µé¢ä¸­çš„树型控件所展现的为 XML 文档的数据结点,我们为 TreeViewer 提供 ContentProvider 和 LabelProvider,用于遍历结点元素和显示结点的名称。

       æ¸…单 4. XMLOutlineContentProvider 和 XMLOutlineLabelProvider

       public class XMLOutlineContentProvider implements ITreeContentProvider {

           @Override

           public Object[] getElements(Object inputElement) {

               Element root = (Element)inputElement;

               return root.getChildren().toArray();

           }

           @Override

           public Object[] getChildren(Object parentElement) {

               Element parent = (Element)parentElement;

               return parent.getChildren().toArray();

           }

           @Override

           public Object getParent(Object element) {

               return ((Element)element).getParent();

           }

           @Override

           public boolean hasChildren(Object element) {

               return ((Element)element).getChildren().size() > 0;

           }

        }

        public class XMLOutlineLabelProvider implements ILabelProvider {

           @Override

           public Image getImage(Object element) {

               // TODO Auto-generated method stub

               return null;

           }

           @Override

           public String getText(Object element) {

               return ((Element)element).getAttributeValue("name");

           }

        }

       ç¬¬ä¸‰æ­¥ï¼Œå°†æˆ‘们的 XML 编辑器与实现的大纲页面关联起来,如下表所示,在 getAdapter() 方法中,当传入的参数为 IContentOutlinePage 时,说明 Outline 视图向 Editor 查询大纲页面,当函数的返回不为空时,大纲视图将会把页面展现出来。

       æ¸…单 5. XMLEditor getAdapter 接口

       public class XMLEditor extends TextEditor{

           @Override

           public Object getAdapter(Class adapter) {

               if (adapter == IContentOutlinePage.class) {

                   Element root = this.getRootElement();

                   if (root != null) {

                       XMLOutlinePage page = new XMLOutlinePage(root);

                       this.addListenerObject(page);

                       return page;

                   }

               }

               return super.getAdapter(adapter);

           }

        }

       æˆ‘们的编辑器是以文本的方式显示 XML 内容,因此我们需要将文本解析成 XML 文档元素,才能将其显示在大纲的树型结点上。在本文的例子中,我们使用 JDOM 类库来解析 XML 文档,我们提供的源代码中包含了该类库,读者也可以通过其官方网站进行下载。

       æ¸…单 6. XML Editor 的实现

       public class XMLEditor extends TextEditor{

           public Element getRootElement(){

               try {

                   IDocument doc = this.getDocumentProvider().getDocument(

                       this.getEditorInput());

                   String text = doc.get();

                   SAXBuilder builder = new SAXBuilder();

                   Reader in = new StringReader(text);

                   if (builder != null) {

                       Document document = builder.build(in);

                       Element root = document.getRootElement();

                       return root;

                   }

               } catch (Exception e) {

                   e.printStackTrace();

               }

               return null;

           }

        }

        public class XMLOutlinePage extends ContentOutlinePage

           public XMLOutlinePage (Element root){

               this.root = root;

           }

           @Override

           public void createControl(Composite parent) {

               super.createControl(parent);

               this.getTreeViewer().setLabelProvider(new XMLOutlineLabelProvider());

               this.getTreeViewer().setContentProvider(new XMLOutlineContentProvider());

               this.getTreeViewer().setInput(root);

           }

        }

       ç¬¬å››æ­¥ï¼Œä¸º XML 编辑器注册监听器。当 Editor 的文本发生变化时,Editor 会产生一个属性名为 IEditorPart.PROP_DIRTY 的事件,表明内容被修改,此时,注册在该属性上的监听器就会被调用。我们将 Outline 页面实现为 IEditorPart.PROP_DIRTY 类型的监听器,当文本内容变化时,页面上树型结点也将发生相应的变化。

       æ¸…单 7. 将 XMLOutlinePage 关联到 XMLEditor

       public class XMLOutlinePage extends ContentOutlinePage implements IPropertyListener{

           @Override

           public void propertyChanged(Object source, int propId) {

               if(propId == IEditorPart.PROP_DIRTY){

                   this.getTreeViewer().setInput(((XMLEditor)source).getRootElement());

               }

           }

        }

        public class XMLEditor extends TextEditor {

           @Override

           public Object getAdapter(Class adapter) {

               if (adapter == IContentOutlinePage.class) {

                   Element root = this.getRootElement();

                   if (root != null) {

                       XMLOutlinePage page = new XMLOutlinePage(root);

                       this.addListenerObject(page);

                       return page;

                   }

               }

               return super.getAdapter(adapter);

           }

        }

       ç¬¬äº”步,为 Outline 视图添加工具栏按钮。大纲页面中的结点元素的按列序列是按照其在 XML 文档中出现的先后顺序排列的,这样用户在查找起来就相当的不方便,因此我们可以在 Outline 视图上添加一个排序按钮,将大纲页面中元素按其名称的字母序进行排列,以方便查找。

       é¦–先我们在 XMLOutlinePage 中创建一个内部类 SortAction,其作用是给大纲页面的 TreeViewer 设置排序器,主要代码如下所示。在 valueChange() 方法中,当我们选中排序按钮时,为其添加一个字母序的按排序器,否则排序器默认为空,元素按其在文档中出现的顺序排列。

       æ¸…单 7. SortAction

       private ViewerComparator lexComparator = new ViewerComparator(new LexComparator());

        private class SortAction extends Action{

           public SortAction() {

               super();

               this.setId("cn.com.hf.outline.page.sortAction");

               this.setImageDescriptor(AbstractUIPlugin.imageDescriptorFromPlugin(

                       "XMLEditorOutline", "icons/alphab_sort_co.gif"));

               this.setDisabledImageDescriptor(AbstractUIPlugin

                       .imageDescriptorFromPlugin("XMLEditorOutline",

                               "icons/alphab_sort_co_dl.gif"));

               this.setEnabled(true);

               this.valueChange(false);

           }

           @Override

           public void run() {

               this.valueChange(isChecked());

           }

           private void valueChange(final boolean on) {

               this.setChecked(on);

               final TreeViewer viewer = getTreeViewer();

               BusyIndicator.showWhile(viewer.getControl().getDisplay(),

                       new Runnable() {

                           public void run() {

                               if (on){

                                   viewer.setComparator(lexComparator);

                               } else {

                                   viewer.setComparator(null);

                               }

                           }

               });

           }

        }

       æŽ¥ç€ï¼Œæˆ‘们能过 pageSite 获得 Outline 视图工具栏实例,将 SortAction 添加到工具栏中。pageSite 是大纲页面与外部 UI 元素进行通信的桥梁,当 Outline 页面初始化时,workbench 会初始化 OutlinePage 的 pageSite 属性,此时,通过 pageSite 就可以获得外部的 UI 元素,如上下文菜单按钮,工具栏等,对页面进行定制。

       æ¸…单 8. 为 OutlinePage 创建 UI 元素

       public class XMLOutlinePage extends ContentOutlinePage implements IPropertyListener{

           public void createControl(Composite parent) {

               super.createControl(parent);

               this.getTreeViewer().setLabelProvider(new XMLOutlineLabelProvider());

               this.getTreeViewer().setContentProvider(new XMLOutlineContentProvider());

               this.getTreeViewer().setInput(root);

               bar = this.getSite().getActionBars();

               bar.getToolBarManager().add(new SortAction());

               bar.updateActionBars();

           }

        }

如何在Eclipse中开发XML可视化编辑器

       Eclipse中开发XML可视化编辑器开发说明。

       Eclipse XML编辑器

       Eclipse 已经包括一个非常简单的 XML 编辑器的源代码,这个编辑器只提供 XML 语法的突出显示。它继承 org.eclipse.ui.editors 包中包括的类,这个包为 Eclipse 平台提供一个标准文本编辑器和基于文件的文档提供程序。这个简单的 XML 编辑器起着代码示例的作用,您可以把它作为自己的 Eclipse XML 插件的基础。它的源代码只能通过 Eclipse 项目向导生成,您需要按下面所描述的自己编译它。

       要构建这个基本 XML 编辑器,转至菜单 File => New,然后选择 Project.在项目向导中,选择 Plug-in Development => Plug-in Project.

       如果看不到 Plug-in Development 选项,则表示 Eclipse 平台 Runtime Binary 没有 Plug-in 开发环境。请到 eclipse.org 下载页面下载 Eclipse 平台 Plug-in SDK.

       单击 Next.给项目命名(如 org.my.eclipse.xmleditor),单击 Next,然后接受屏幕 Plug-in Project Structure 上的缺省值。接下来选择 Create a plug-in project using a code generation 向导,然后选择 Plug-in with an editor 选项。向导会自动生成该 XML 编辑器的源代码。

       但仍需编译它。单击 Next,然后在下一屏幕 Simple Plug-in Content 上单击 Finish 选项; 转至 Project 菜单并选择 Rebuild All 来构建该项目。

       接下来需要使用 File => Export 菜单创建 editor.jar 文件。请退出 Eclipse,然后复制整个 org.my.eclipse.xmleditor plugin 目录。当您再次运行 Eclipse 时,可将一个 XML 文件添加到您的项目中。请记住这个样本 XML 编辑器未提供任何一种验证或语法检查。