這篇主要整理一下最近常用的 Xerces DOM Parser,免的又發生像上星期的慘劇,明明已經寫過一次 SAX 了,卻又忘記是怎麼弄出來的 。 我的用法是用 DOM 將 XML 文件 parse 成一堆 node,再 getNodeType() 來決定目前要怎麼做。至於移動就直接用 getNextSibling() 或是 getNextParent() 來往下 parse。應該是最簡單的辦法了吧。NodeIterator() 和 TreeWalker() 等本身還沒有用到。 DOMParser parser = new DOMParser(); parser.parse(xmlDocument); // xmlDocument 代表一個 xml 文件檔 Document doc = parser.getDocument(); Node n = doc; // Node 是 Document 的 superinterface 接下來就可以開始 parse 了。 if (n.getNodeType == Node.ELEMENT_NODE) // element node 表示這是一個 tag {...} else if (n.getNodeText == Node.TEXT_NODE) // text node 表示這是一個 tag 表示的值。 {...} 這個 node 搞定後,接著移動。 n = n.getNextNode(); 這大概是最簡單了,寫一下免的自己以後忘記了可以快速回想起來。XD
文章標籤