close
這篇主要整理一下最近常用的 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
我的用法是用 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
全站熱搜
留言列表