XML檔案解析 ——————–筆記

來源:互聯網
上載者:User

用SAX(simple API for
XML)解析方式漸進式掃描文檔,可以在任一時刻停止解析,但是操作複雜、使用其SAX向文檔添加或者刪除內容比較困難。它既是一種介面,也是一個軟體包。

SAX工作原理:對文檔進行順序掃描,當掃描到文檔開始與結束、元素開始與結束,產生事件通知事件處理函數,由事件處理函數做相應動作,然後繼續同樣的掃描,直至文檔結束。文檔處理事件、元素事件、DTD或Schema事件、錯誤事件SAX介面:ContentHandler、ErrorHandler、DTDHandler、EntityResolver(1)建立事件處理常式MyContentHandler類繼承DefaultHandler實現其中的方法:startDocument、endDocument、
startElement(String(
命名空間),String(不包含首碼的標籤名),String(包含首碼的標籤名),Attributes(屬性))、
endElement(String,String,String,Attributes)、characters(char[](讀取的標籤所有內
容),int(從哪一位開始讀取),int(讀取內容的長度))(2)建立SAX解析器SAXParseFactory factory = SAXParseFactory.newIntance();XMLReader reader = factory.newSAXParse().getXMLReader();(3)將事件處理常式分配給解析器reader.setContentHandler(new
MyContentHandler());//設定內容處理器,其中MyContentHandler類中定義介面中的各種方法(4)對文檔進行解析,將每個事件發送給處理常式reader.parse(new InputSourse(new
StringReader(resultStr)));//將讀取的資料直接放到StringReader對象中,StringReader專門用於以流的方式讀取字串resultStr為網路上下載的檔案被儲存為String類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.