`

XML JAVA解析 -- DOM

    博客分类:
  • java
阅读更多
    dom : document object model 文档对象模型
java dom就是基于w3c dom规范的一套实现,面向接口编程。
 
1. class diagram
<img src="http://dl.iteye.com/upload/attachment/475630/ac4df8ad-b781-3584-90db-b57ba9589d61.jpg" alt="">
其中: entittyresolver 和 errorhandler 来自于 sax api
 
2. 实例
 
domtest.java
 
package com.siyuan.xml;
import java.io.ioexception;
import javax.xml.parsers.documentbuilder;<br>import javax.xml.parsers.documentbuilderfactory;<br>import javax.xml.parsers.parserconfigurationexception;<br>import javax.xml.transform.source;<br>import javax.xml.transform.transformer;<br>import javax.xml.transform.transformerconfigurationexception;<br>import javax.xml.transform.transformerexception;<br>import javax.xml.transform.transformerfactory;<br>import javax.xml.transform.dom.domsource;<br>import javax.xml.transform.stream.streamresult;
import org.w3c.dom.attr;<br>import org.w3c.dom.document;<br>import org.w3c.dom.element;<br>import org.w3c.dom.namednodemap;<br>import org.w3c.dom.node;<br>import org.w3c.dom.nodelist;<br>import org.w3c.dom.text;<br>import org.xml.sax.saxexception;<br>import org.xml.sax.helpers.defaulthandler;
public class domtest {<br> <br> public static void printelement(element e) {<br>  system.out.println("element : " + e.getnodename() + "---------------");<br>  namednodemap attrs = e.getattributes();<br>  for (int i = 0; i < attrs.getlength(); i++) {<br>   attr attr = (attr) attrs.item(i);<br>   system.out.println("attribute[" + i + "] : " + attr.getname() + "=" + attr.getvalue());<br>  }<br>  nodelist children = e.getchildnodes();<br>  for (int i = 0; i < children.getlength(); i++) {<br>   node node = children.item(i);<br>   if (node instanceof text) {<br>    system.out.println("text node : " + ((text) node).getwholetext());<br>   } else {<br>    printelement((element) children.item(i));<br>   }<br>  }<br> }<br> <br> /**<br>  * @param args<br>  * @throws parserconfigurationexception <br>  * @throws ioexception <br>  * @throws saxexception <br>  * @throws transformerexception <br>  */<br> public static void main(string[] args) throws parserconfigurationexception, saxexception, ioexception, transformerexception {<br>  // todo auto-generated method stub<br>  documentbuilderfactory factory = documentbuilderfactory.newinstance();<br>  documentbuilder builder = factory.newdocumentbuilder();<br>  defaulthandler handler = new workershandler();<br>  builder.setentityresolver(handler);<br>  builder.seterrorhandler(handler);<br>  document document = builder.parse("src/com/siyuan/xml/workers.xml");<br>  printelement(document.getdocumentelement());<br>  <br>  transformerfactory transformerfactory = transformerfactory.newinstance();<br>  transformer transformer = transformerfactory.newtransformer();<br>  transformer.transform(new domsource(document.getdocumentelement()), new streamresult("src/com/siyuan/xml/workers1.xml"));<br> }
}
 
0
3
分享到:
评论

相关推荐

    XML-DOM-Java

    在这个“XML-DOM-Java-Spec.rar”压缩包中,我们很可能是找到了一个关于如何在Java中使用DOM处理XML的演示文稿,名为“XML-DOM-Java-Spec.ppt”。 以下是关于XML DOM和Java处理XML的一些关键知识点: 1. **DOM解析...

    Java解析XML工具类--(java源码)

    * 解析某个xml文件,并在内存中创建DOM树 * @param xmlFile 要解析的XML文件 * @return 解析某个配置文件后的Document * @throws Exception xml文件不存在 */ public static Document parse( String xml...

    java_dom解析xml xml java

    ### Java DOM 解析 XML 在Java中,DOM(Document Object Model)是一种用于处理XML文档的标准接口。通过DOM,我们可以将整个XML文档加载到内存中,并对其进行读取、修改等操作。这种方式非常适合那些需要对XML文档...

    Xml之DOM解析--学生成绩管理系统

    1. **加载XML文档**:使用DOM解析器(如Java的DocumentBuilderFactory或JavaScript的DOMParser)将XML文件加载成内存中的DOM树。这个过程通常包括解析XML文档,检查其语法正确性,并构建相应的DOM节点结构。 2. **...

    DOM_XML.rar_DOM_dom xml_dom xml java_dom解析xml_java解析xml

    标题中的"DOM_XML.rar"可能是一个包含DOM解析XML相关示例的压缩文件,"DOM_dom xml_dom xml java_dom解析xml_java解析xml"这部分描述了文件的主要内容,即关于DOM(Document Object Model)在XML解析中的应用,特别...

    xml-apis-1.4.01.jar.zip

    - **DOM(Document Object Model)**:提供了一种树形结构来表示XML文档,使得可以方便地通过Java对象模型来操作XML内容。 - **SAX(Simple API for XML)**:是一种基于事件驱动的XML解析器,适用于处理大型XML文档...

    XML-Parser-2.41.tar.gz

    XML解析器有多种类型,如DOM(Document Object Model)解析器,它将整个XML文档加载到内存中形成一棵树状结构,便于遍历和修改;SAX(Simple API for XML)解析器则采用事件驱动的方式,逐个处理XML元素,节省内存但...

    XML.rar_XML SAX_XML java_dom xml_java xml_java解析xml

    本篇文章将重点讲解XML在Java中的解析方式,特别是DOM和SAX解析。 1. DOM解析: DOM(Document Object Model)是W3C推荐的一种处理XML文档的标准模型。它将整个XML文档加载到内存中,构建一个树形结构,允许开发者...

    xml-apis-2.0.2.jar ecside 依赖包之一

    这个特定的版本可能包含了XML解析器如Apache Xerces或IBM XML4J,以及相关的接口和类,比如DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)等解析方式。 DOM是XML数据的...

    java解析XML dom4j dom4j-1.6.1.jar

    Java解析XML时,dom4j是一个非常流行的库,它提供了灵活且强大的API来处理XML文档。dom4j-1.6.1.jar是这个库的一个版本,发布于2005年,它支持XML的读取、写入、操作以及查询功能。在本文中,我们将深入探讨dom4j的...

    java 解析xml 多级

    以下是一个使用Java DOM解析XML的步骤: 1. 引入必要的库: 需要引入`javax.xml.parsers`包,包含DOM解析器的主要类。 2. 创建解析器工厂: 使用`DocumentBuilderFactory`创建一个解析器工厂实例,然后通过`...

    XML四种解析方式------DOM SAX JDOM DOM4J

    在处理XML文档时,有多种解析方式,包括DOM、SAX、JDOM和DOM4J。每种解析方式都有其特性和适用场景,下面将详细探讨这四种解析方法。 1. DOM(Document Object Model) DOM解析器将整个XML文档加载到内存中,形成一...

    XML ----DOM操作

    1. **加载XML文档**:首先,我们需要创建一个DOM解析器,如Java中的`DocumentBuilderFactory`和`DocumentBuilder`,它们用于读取XML文件并构建DOM树。 2. **获取根节点**:解析后的XML文档会被转换为一个`Document`...

    java dom4j解析xml

    Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...

    XML解析-dom4j.jar-jdom.jar

    在Java编程中,解析XML文档通常需要借助于特定的库,如dom4j和jdom。这两个库都是Java平台上处理XML的优秀选择。 dom4j是一个功能强大的开源XML处理库,提供了灵活且高效的API。它不仅支持DOM模型,还支持SAX...

    java dom 解析 xml 实例

    Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,使用 W3C 推荐的文档对象模型(Document Object Model,DOM)来解析 XML 文档。DOM 提供了一个树形结构的对象模型,通过遍历树形结构可以访问和操作 ...

    java解析xml——dom

    ### Java解析XML——DOM详解 #### 一、DOM解析概念 **Document Object Model (DOM)**是一种平台和语言中立的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM最初是为HTML设计的,但后来也被...

    Android解析xml(2)---DOM解析

    本篇主要关注的是如何使用DOM(Document Object Model)解析器来处理XML文件。DOM解析器将整个XML文档加载到内存中,形成一个树形结构,便于对XML数据进行遍历和操作。以下是关于Android中DOM解析XML的详细知识讲解...

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    java 解析XML性能对比分析Demo

    本文将深入探讨几种不同的XML解析方法,并通过实际的“Java解析XML性能对比分析Demo”来展示它们的性能差异。我们将讨论DOM、SAX、JDOM、DOM4J和JAXB这五种解析器,以及它们各自的特点和适用场景。 1. DOM(文档...

Global site tag (gtag.js) - Google Analytics