標籤:
什麼是SAX
SAX,全稱Simple API for XML,既是一種介面,也是一種軟體包。它是一種XML解析的替代方法。SAX不同於DOM解析,它漸進式掃描文檔,一邊掃描一邊解析。由於應用程式只是在讀取資料時檢查資料,因此不需要將資料存放區在記憶體中,這對於大型文檔的解析是個巨大優勢。我們將在dom4j的學習中使用到SAX,於是先對SAX進行瞭解。
如何使用SAX
與之前學習的DOM中解析器建立方法類似,利用原廠模式和單例模式的結合,創造出一個解析器的執行個體。下面是開啟一個XML檔案的範例程式碼:
SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); DefaultHandler dh = new MyTest(); parser.parse("books.xml", dh);
值得一提的是,這裡使用到了Java中的預設適配器模式,我們另外建立了一個MyTest的類,繼承了DefaultHandler類,然後在MyTest中重寫了DefaultHandler的方法,比較重要 的方法有:startDocument(), startElement(); endDocument()等等,PS:可以在myeclipse中使用快速鍵( ctrl + shift + s)快速構建重寫方法。
什麼是DOM4J
dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。dom4j是一個十分優秀的JavaXML API,具有效能優異、功能強大和極其易使用的特點,同時它也是一個開放原始碼的軟體,可以在SourceForge上找到它。在以後接觸的很多架構中(Hibernate)都運用到了此項技術,而且DOM4J的使用比之前介紹的dom和SAX都要簡單易用。
如何使用DOM4J
暫停,稍後繼續
J2EE學習之路---SAX與DOM4J