Java实现DOM文档操作和XML文件彼此转换[Java编程]
本文“Java实现DOM文档操作和XML文件彼此转换[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本文扼要描写了DOM的概念和内部逻辑构造,实例报告DOM文档操作和XML文件彼此转换的java实现历程.
1.DOM简介
目前,W3C已于2000年11月13日推出了标准DOM level 2.文档对象模子(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测试版中的java API遵守了 DOM level 2 Core举荐接口的语义阐明,供应了呼应的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文件的解析器
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//解析XML文件生成DOM文档的接口类,以便拜候DOM.
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse( new File(FileName) );
4.2 遍历DOM文档
得到接口类document实例后,可以对DOM的文档树举行拜候.要遍历DOM文档,首先要得到Root元素.然后得到Root元素的子节点列表.这里通过递归的办法实现遍历的目的.
//得到Root元素
Element element = document.getDocumentElement();
//得到Root元素的子节点列表
nodelist = element.getChildNodes();
//用递归办法实现DOM文档的遍历
GetElement(nodelist);
此中GetElement办法实现以下:
public void GetElement(NodeList nodelist){
Node cnode;
int i,len;
String str;
if(nodelist.getLength() == 0)
// 该节点没有子节点
return;
}
for(i=0;i 1)
System.out.println(" "+str+" "+len);
}
}
}
注意:上面的代码只是显示Node范例和Text范例的对象.它们的范例标识辨别是1和3.
以上是“Java实现DOM文档操作和XML文件彼此转换[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |