EXML - 基于EMF的XML工具

栏目: 编程语言 · XML · 发布时间: 7年前

内容简介:最近做一个项目,又用到了XML的解析和保存。 Java中,对XML的解析和保存有很多种方法,也有很多好用的第三方jar包。 做Eclipse插件开发这么多年,习惯了用Eclipse中的一些插件,比如EMF在建模方面就有着很诱人的优势。 EMF中模型的存储一般都是用XML或是XMI的方式,只不过要对应响应的ecore模型。 所以,用EMF来动态的加载XML就不那么复杂了。当然了,所有的关于XML的解析和保存的处理都是在EXMLResourceImpl这个类里面完成的。熟悉XMLResource的人应该知道,

前言

最近做一个项目,又用到了XML的解析和保存。 Java中,对XML的解析和保存有很多种方法,也有很多好用的第三方jar包。 做Eclipse插件开发这么多年,习惯了用Eclipse中的一些插件,比如EMF在建模方面就有着很诱人的优势。 EMF中模型的存储一般都是用XML或是XMI的方式,只不过要对应响应的ecore模型。 所以,用EMF来动态的加载XML就不那么复杂了。

设计思路

  1. 加载:不论什么样的XML文件,都能够正确的加载,包括所有的元素,属性,文本,注释,CDATA等。
  2. 保存:以标准的XML格式来保存模型,也就是说加载前是什么内容,保存后还是什么内容。

实现方法

  1. 简单的ecore模型
    • Document
    • Element
    • Attribute
  2. 基于EMF的XMLResource。
EXMLResourceFactoryImpl fac = new EXMLResourceFactoryImpl();
EXMLResourceImpl resource = fac.createResource(URI);

当然了,所有的关于XML的解析和保存的处理都是在EXMLResourceImpl这个类里面完成的。熟悉XMLResource的人应该知道,在XMLResource中会有一个XMLSave和XMLLoad来实现具体的保存和加载,而且会通过一个XMLHelper来辅助完成。其实,实现的逻辑也很简单,就是在需要的时候将具体的XML元素与模型做个转换就可以了。

里面可能需要注意的一点是对ExtendedMetaData中mixed属性的用法,这点可以具体的参考XMLTypeDocumentRoot中Comment,Text等的实现。

特点

  1. 完整性:继承了EMF中的XMLTypeDocumentRoot,从而能够很好的加载和保存Comment,CDATA,Text以及Namespace等。
  2. 易用性:标准的EMF使用流程。
  3. 更多请点击连接。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JSF第一步

JSF第一步

罗会波 / 清华大学出版社 / 2007-10 / 65.00元

《JSF第一步:JSF+Spring+Hibernate+AJAX编程》讲述JSF是表示层框架的标准,Hibernate是一个比较完善的对象关系映射工具,Spring则提供了一个Web应用的轻量级的解决方案。在开发一个多层的Java EE应用程序时,这些框架可谓是相辅相成、相得益彰,可以称得上是开发轻量级Java EE应用的三剑客。另外,AJAX是一种非常流行的改善用户体验的技术,但目前国内外还没......一起来看看 《JSF第一步》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具