`

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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics