毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
过程日志修复算法实现+文献综述(3)
它的主要接口都在org.dom4j这个包里定义,下面介绍几个常用的接口[9]:
Attribute 定义了XML的属性;
Branch 为能够包含子节点的节点如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为;
Comment 定义了XML注释的行为;
Document定义了XML文档;
DocumentType定义XML DOCTYPE声明;
Element定义XML元素
Entity定义XML entity;
Node为所有的dom4j中XML节点定义了多态行为;
Text定义XML文本节点;
Visitor用于实现Visitor模式;
读写XML文档主要依赖于org.dom4j.io包,其中提供DOMReader和SAXReader两类不同方式,而调用方式是一样的。
public Document read(String fileName)throws MalformedURLException, DocumentException
{
SAXReader reader = new SAXReader();
Document document = reader.read(new File(fileName)); return document;
}
其中,reader的read方法是重载的,可以从InputStream,File,Url等多种不同的源来读取。得到的Document对象就代表了整个XML。
读取后的第二步,就是得到Root节点。熟悉XML的人都知道,一切XML分析都是从Root元素开始的。
public Element getRootElement(Document doc){
return doc.getRootElement();
}
dom4j提供至少3种遍历节点的方法:枚举、递归、Visitor模式。本次设计采用枚举法:
// 枚举所有子节点
for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
// do something
}
// 枚举名称为foo的节点
for ( Iterator i = root.elementIterator(foo); i.hasNext();) {
Element foo = (Element) i.next();
// do something
}
// 枚举属性
for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {
Attribute attribute = (Attribute) i.next();
// do something
}
2.4 XML
XML即可扩展标记语言,是标准通用标记语言的子集,是一种用于标记
电子
文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言[10]。
在信息保存方面,XML有着自己独特的优势。现代社会的绝大部分资料都是以电子文档形式保存的,并且不同格式保存的文档需要有相应的不同软件来将其打开。若干年后,很可能某些电子文档还在,但能够打 开这些文档的软件则已遭淘汰而无法找到。此外,许多电子文档基本上是完好的,但哪怕仅有几个二进制位的错误就将导致整个文档不能打开。相比之下,以XML 格式保存的文档就不会有上述问题。因为XML文档是基于文本的,并且文档中的每项数据都有清晰的语义,非常容易被打开和阅读。此外,XML文档能够很容易 地转换为其他格式的文档,所以非常适合用来作为信息的长期保存形式。
而且XML技术非常适合面向对象的程序开发。XML文档是非常容易阅读的,不但对人,对机器也是如此。XML文档数据的逻辑结构是一种树形的层次结构,文档中的每一个元素都可以影射为一个对象,同时也可以有相应的属性和方法,因而非常适合于使用面向对象的程序设计方式来开发处理这些XML文档的应用程序。在本项目中,应用XML文档来存储Petri网和待修复的序列。
2.5 测量时间的方法
在本次设计中借助System.currentTimeMillis()方法来测量程序执行时间。注意,这个程序执行时间指的是修复过程所用时间。在修复过程开始时和结束时分别调用该方法,把得到的时间相减得到运行时间。但是,由于所测时间与系统工作状态有着很大的关系,所以在实际操作过程中采用测量5次,除去最大和最小的两个值,对剩余3个值求平均值的方法。虽然这个方法得到的结果可能还是不够精确,但可以做到尽量接近。虽然通过这个方法测量的时间也许不能用于其它计算,但是可以通过这个数据来反应时间变化的趋势,可以用来作比较。测量时间时尽可能多地关闭无关的程序。
共4页:
上一页
1
2
3
4
下一页
上一篇:
JSP学生宿舍日常事务管理系统的设计
下一篇:
基于图模型的图像标注+文献综述
java的logSig日志管理和分析系统设计与实现
Hog特征复杂环境下交通图...
复合通信网络上信息传输过程研究
基于核独立元分析的非线...
基于Hadoop的制造过程大数据存储平台构建
Hadoop云计算环境下的Web应用日志安全威胁分析
基于Agent的突发事件中网络...
承德市事业单位档案管理...
C#学校科研管理系统的设计
中国学术生态细节考察《...
国内外图像分割技术研究现状
神经外科重症监护病房患...
AT89C52单片机的超声波测距...
志愿者活动的调查问卷表
公寓空调设计任务书
医院财务风险因素分析及管理措施【2367字】
10万元能开儿童乐园吗,我...