菜单
  

    它的主要接口都在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个值求平均值的方法。虽然这个方法得到的结果可能还是不够精确,但可以做到尽量接近。虽然通过这个方法测量的时间也许不能用于其它计算,但是可以通过这个数据来反应时间变化的趋势,可以用来作比较。测量时间时尽可能多地关闭无关的程序。
  1. 上一篇:JSP学生宿舍日常事务管理系统的设计
  2. 下一篇:基于图模型的图像标注+文献综述
  1. 基于核独立元分析的非线...

  2. 基于Hadoop的制造过程大数据存储平台构建

  3. Hadoop云计算环境下的Web应用日志安全威胁分析

  4. 基于Agent的突发事件中网络...

  5. delta3D电解铝生产过程三维仿真技术

  6. 基于网络模拟电话呼叫处理过程

  7. 分布式日志采集与分析

  8. 酸性水汽提装置总汽提塔设计+CAD图纸

  9. 当代大学生慈善意识研究+文献综述

  10. java+mysql车辆管理系统的设计+源代码

  11. 十二层带中心支撑钢结构...

  12. 中考体育项目与体育教学合理结合的研究

  13. 河岸冲刷和泥沙淤积的监测国内外研究现状

  14. 乳业同业并购式全产业链...

  15. 杂拟谷盗体内共生菌沃尔...

  16. 大众媒体对公共政策制定的影响

  17. 电站锅炉暖风器设计任务书

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回