分类 Oracle认证 JAVA认证 Linux认证 思科考试

2011年计算机二级JAVA知识点:Java与XML联合编程之DOM篇

 

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(可加微信)。

云南学历中心:◆咨询电话:0871-65385921、13312528471 赖老师、钱老师(微信报名:17787865775)点击这里给我发消息


楚雄学习中心:◆咨询电话:0878-3138907、17787826253 冯老师、 王老师(微信报名:17787826253 )点击这里给我发消息


总部报名地址: ◆云南省昆明市东风西路218号富春大厦6楼(小西门苏宁易购);网课试听:ke.xuekaocn.cn   点击这里立即咨询我们



地州分校:   大理分校   丽江分校   迪庆分校   怒江分校   红河分校   临沧分校   玉溪分校   文山分校   保山分校   德宏分校   昭通分校   普洱分校   版纳分校 【各地州学员请加老师微信咨询报名,电话(微信):133-1252-4700】;2021年云南省成人高考>>立即报名



职业技能考证:心理咨询师、健康管理师、茶艺师等更多>◆咨询电话:0871-65385238、13312524700(微信)点击这里咨询我们  

公考培训咨询:◆国考云南省考公务员/事业单位面授培训,咨询电话:0871-66019384,13312524700 (微信)点击这里立即咨询我们






温馨提示:因考试政策、内容不断变化与调整,学课在线网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

免责声明:以上内容仅代表原创者观点,其内容未经本站证实,学课在线网对以上内容的真实性、完整性不作任何保证或承诺,转载目的在于传递更多信息,由此产生的后果与学课在线网无关;如以上转载内容不慎侵犯了您的权益,请联系我们QQ:1536696595,我们将会及时处理。

网友评论
     
    工作时间:9:00-18:00 学历提升0871-65385921 职业培训0871-65385238
    工作时间:9:00-18:00
    学历提升:   点这里给我发消息  点这里给我发消息 职业培训:   点这里给我发消息 网校课程:   点这里给我发消息
    微信扫一扫关注我们