首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

XML JAVA解析 - DOM

2012-11-04 
XML JAVA解析 -- DOMdom : document object model 文档对象模型java dom就是基于w3c dom规范的一套实现,面

XML JAVA解析 -- DOM
    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="XML JAVA解析 - DOM">
其中: 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>?}
}
 

热点排行