2011年计算机二级JAVA知识点:Java与XML联合编程之DOM篇
来源:不详
加入收藏 0评论
2011/12/9 17:23:39

学历提升报名入口! -咨询>>昆明微信-17787865775;地州微信-13312524700

2020年云南成人高考大专-本科报名简章
【云南开放大学报名】【BIM工程师】【教师证】

 

3.8 Java与XML联合编程之DOM篇

  DOM是Document Object Model的缩写,即文档对象模型。前面说过,XML将数据组织为一颗树,所以DOM就是对这颗树的一个对象描叙。通俗的说,就是通过解析XML文档,为XML文档在逻辑上建立一个树模型,树的节点是一个个对象。我们通过存取这些对象就能够存取XML文档的内容。

  下面我们来看一个简单的例子,看看在DOM中,我们是如何来操作一个XML文档的。

  这是一个XML文档,也是我们要操作的对象:

  Good-bye serialization, hello Java!

  下面,我们需要把这个文档的内容解析到一个个的Java对象中去供程序使用,利用JAXP,我们只需几行代码就能做到这一点。首先,我们需要建立一个解析器工厂,以利用这个工厂来获得一个具体的解析器对象:

  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

  我们在这里使用DocumentBuilderFacotry的目的是为了创建与具体解析器无关的程序,当DocumentBuilderFactory类的静态方法newInstance()被调用时,它根据一个系统变量来决定具体使用哪一个解析器。又因为所有的解析器都服从于JAXP所定义的接口,所以无论具体使用哪一个解析器,代码都是一样的。所以当在不同的解析器之间进行切换时,只需要更改系统变量的值,而不用更改任何代码。这就是工厂所带来的好处。这个工厂模式的具体实现,可以参看下面的类图。

  DocumentBuilder db = dbf.newDocumentBuilder();

  当获得一个工厂对象后,使用它的静态方法newDocumentBuilder()方法可以获得一个DocumentBuilder对象,这个对象代表了具体的DOM解析器。但具体是哪一种解析器,微软的或者IBM的,对于程序而言并不重要。

  然后,我们就可以利用这个解析器来对XML文档进行解析了:

  Document doc = db.parse("c:/xml/message.xml");

  DocumentBuilder的parse()方法接受一个XML文档名作为输入参数,返回一个Document对象,这个Document对象就代表了一个XML文档的树模型。以后所有的对XML文档的操作,都与解析器无关,直接在这个Document对象上进行操作就可以了。而具体对Document操作的方法,就是由DOM所定义的了。

  Jaxp支持W3C所推荐的DOM 2。如果你对DOM很熟悉,那么下面的内容就很简单了:只需要按照DOM的规范来进行方法调用就可以。当然,如果你对DOM不清楚,也不用着急,后面我们会有详细的介绍。在这儿,你所要知道并牢记的是:DOM是用来描叙XML文档中的数据的模型,引入DOM的全部原因就是为了用这个模型来操作XML文档的中的数据。DOM规范中定义有节点(即对象)、属性和方法,我们通过这些节点的存取来存取XML的数据。

 

>>长期招聘兼职招生代理人员,有意者请联系我们 >>团报优惠咨询、项目合作咨询:13312524700(可加微信)。
热点推荐
  • 2020年云南执业药师考试报名通知公布(8月11日起)
    2020-08-07 2013
  • 亳州市2019年执业医师笔试缴费时间
    2019-06-28 18
  • 2018年临床执业医师报考指南-成绩查询
    2019-06-28 22
  • 2018年临床执业医师报考指南-综合笔试
    2019-06-28 15
  • 2018年临床执业医师报考指南-技能考试
    2019-06-28 19
网友评论
热门评论