当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .