12/05,12/06 ----XML篇

 

昨天的日誌沒有寫,太忙了沒有時間寫。第一天的課程是XML,是馮威老師給我們上的,馮老師講課簡單易懂,幽默風趣,是我很喜歡的那種類型的老師;這兩天講的內容

主要是XML,花了一點點的時間介紹的基礎知識,然後重點分析了對XML的解析。解析XML有兩種思想:dom和sax;dom的思想:一次性的將XML文檔讀入到內存中,在內存

中架構代表整個DOM樹(倒着的樹)的Document對象,從而再對XML文檔進行操作【總結:DOM採用樹型結構】。sax的思想:如果XML文件比較大的話,用dom解析的話會比較浪費內存,因此就有了sax的

思想:允許在讀取文檔的時候,即對文檔進行處理,而不必等到整個文檔裝在完纔對文檔進行操作【總結:SAX採用的是事件模型】。

知識點回顧與總結【】:

1.DOM中的三中節點:元素節點,屬性節點,文本節點【重點理解】

2.DOM的解析過程以及關鍵代碼【要寫的出來後面的學習要用到】:

//創建dom解析器的工廠類實例:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance( );

//通過工廠類的實例獲得dom解析器

DocumentBuilder db = dbf.newDocumentBuilder();

//加載xml文件獲得Document對象

Document document = db.parse(new File("src/cn/itcast/jaxp01/books.xml"))

//獲得節點的集合

NodeList bookeNodeList = document.getElementsByTagName(“書”);

//從結合中得到單個節點,判斷它的類型,bookeNodeList.item(i)

//轉換節點到相應的類型:

Node.ELEMENT_NODE,Node.ATTIBUTE_NODE,Node_TEXT_NODE

//調用getNodeName,geNodeValue,getNodeType可以得到節點名,結點值。

3.SAX的解析過程以及關鍵代碼【要看的懂代碼以及解析的流程】:

  //創建SAX解析器工廠對象的實例

   SAXParserFactory sf = SAXParserFactory.newInstance();

  //通過sax解析器工廠對象的實例獲得sax解析器對象

   SAXParser sp = sf.newSAXParser();

  //通過sax的解析器對象來獲取xml讀取器對象

  XMLReader reader = sp.getXMLReader();

  //設置讀取器的事件處理程序(註冊監聽),允許應用程序註冊內容事件處理程序

  reader.setContentHandler(new ContentHandler1()); //寫一個內部類ContentHandler 實現ContentHandler接口

  //解析xml

   reader.parse(“src/cn/itcast/demo01/books.xml”);

  // ContentHandler1注意裏面的方法調用時間

   startDocument,startElement,characters,endElement,endDocument.

4.DOM4J的解析過程以及關鍵代碼【重點理解*****,會寫】:使用DOM4J要導入DOM4J的包,

 

  

5.DTD要看的懂是什麼意思,不一定要會寫。

6.Schema的知識點:Schem的出現是爲了解決DTD中如果有相同標籤,就不能夠很好的分辨出誰是誰。要知道books.xsd前面的那段代碼都分別是什麼意思【難點,重點】

 

7.解析XML的思想有兩種,dom 和sax

  解析器【就是具體實現了上面兩種方式】:有Crimson(sun1.4)、Xerces(IBM 1.5) 、Aelfred2(DOM4J)

  XML解析開發包:JAXP(java.xml.parser),JDOM,DOM4J

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章