仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 678|回复: 11
打印 上一主题 下一主题

[学习教程] 发布一篇Java完成DOM文档操纵和XML文件相互转换

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:29:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在性能方面,在windows平台下,.net网页编程可能是占强项,要是把.net网页编程放在sun开发的操作系统上去运行呢?根本就运行不了,.net网页编程对其它操作系统的支持也很弱,性能也可能比不上java。
本文扼要形貌了DOM的观点和外部逻辑布局,实例报告DOM文档操纵和XML文件相互转换的java完成历程。
1.DOM简介
今朝,W3C已于2000年11月13日推出了标准DOMlevel2。文档对象模子(DOM)是HTML和XML文档的编程接口标准,它与平台和言语是有关的,因此能够用各类言语在各类平台上完成。该模子界说了THML和XML文件在内存中的逻辑布局(即为文档),供应了会见、存取THML和XML文件的办法。使用DOM标准,能够完成DOM文档和XML之间的互相转换,遍历、操纵响应DOM文档的内容。能够说,要自在的利用XML文件,就要用到DOM标准。
2.DOM外部逻辑布局
DOM文档中的逻辑布局能够用节点树的情势举行表述。经由过程对XML文件的剖析处置,XML文件中的元素便转化为DOM文档中的节点对象。DOM的文档节点有Document、Element、Comment、Type等等节点范例,个中每个DOM文档必需有一个Document节点,而且为节点树的根节点。它能够有子节点,大概叶子节点如Text节点、Comment节点等。任何的格局优秀的XML文件中的每个元素均有DOM文档中的一个节点范例与之对应。使用DOM接口将XML文件转化成DOM文档后,我们就能够自在的处置XML文件了。
3.java中的DOM接口
DOM标准供应的API的标准,今朝Sun公司推出的jdk1.4测试版中的javaAPI遵守了DOMlevel2Core保举接口的语义申明,供应了响应的java言语的完成。
在org.xml.dom中,jkd1.4供应了Document、DocumentType、Node、NodeList、Element、Text等接口,这些接口均是会见DOM文档所必需的。我们能够使用这些接口创立、遍历、修正DOM文档。
在javax.xml.parsers中,jkd1.4供应的DoumentBuilder和DocumentBuilderFactory组合能够对XML文件举行剖析,转换成DOM文档。
在javax.xml.transform.dom和javax.xml.transform.stream中,jdk1.4供应了DOMSource类和StreamSource类,能够用来将更新后的DOM文档写进天生的XML文件中。
4.例程
4.1将XML文件转化成DOM文档
这个历程是取得一个XML文件剖析器,剖析XML文件转化成DOM文档的历程。
Jdk1.4中,Document接口形貌了对应于全部XML文件的文档树,供应了对文档数据的会见,是该步骤的方针。Document接口能够从类DocumentBuilder中猎取,该类包括了从XML文档取得DOM文档实例的API。XML的剖析器能够从类DocumentBuilderFactory中猎取。在jdk1.4中,XML文件转化成DOM文档能够有以下代码完成:
//取得一个XML文件的剖析器
DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
//剖析XML文件天生DOM文档的接口类,以便会见DOM。
DocumentBuilderbuilder=factory.newDocumentBuilder();
document=builder.parse(newFile(FileName));
4.2遍历DOM文档
取得接口类document实例后,能够对DOM的文档树举行会见。要遍历DOM文档,起首要取得Root元素。然后取得Root元素的子节点列表。这里经由过程递回的办法完成遍历的目标。
//取得Root元素
Elementelement=document.getDocumentElement();
//取得Root元素的子节点列表
nodelist=element.getChildNodes();
//用递回办法完成DOM文档的遍历
GetElement(nodelist);
个中GetElement办法完成以下:
publicvoidGetElement(NodeListnodelist){
  Nodecnode;
  inti,len;
  Stringstr;
  if(nodelist.getLength()==0)
  //该节点没有子节点
  return;
  }
  for(i=0;i1)
  System.out.println("   "+str+""+len);
    }
  }
  }
注重:下面的代码只是显现Node范例和Text范例的对象。它们的范例标识分离是1和3。
<p>
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。
透明 该用户已被删除
沙发
发表于 2015-1-21 08:25:23 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-27 05:05:21 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
海妖 该用户已被删除
地板
发表于 2015-1-29 22:46:02 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
5#
发表于 2015-2-6 05:42:41 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
蒙在股里 该用户已被删除
6#
发表于 2015-2-6 14:46:04 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
小魔女 该用户已被删除
7#
发表于 2015-2-9 04:29:53 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
莫相离 该用户已被删除
8#
发表于 2015-2-21 15:44:45 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
兰色精灵 该用户已被删除
9#
发表于 2015-3-6 20:21:10 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
山那边是海 该用户已被删除
10#
发表于 2015-3-7 16:58:59 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
再现理想 该用户已被删除
11#
发表于 2015-3-8 00:17:51 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
因胸联盟 该用户已被删除
12#
 楼主| 发表于 2015-3-15 17:29:58 | 只看该作者
是一种使用者不需花费很多时间学习的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-10 19:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表