Java解析XML方式一般有兩種,利用SAX解析和利用DOM解析,DOM解析是把整個XML文件當做一個樹來存取,如果XML文件較大,那麼用DOM解析的效率較低。
SAX解析是逐個tag解析xml,如果XML層次過深用SAX解析不是很方便,XML文件層次過深適用於DOM解析,jdk中提供了用SAX解析XML的工具
用SAX解析xml步驟:
1、創建一個SAXParserFactory
SAXParserFactoryfactory=SAXParserFactory.newInstance();
XMLReaderreader=factory.newSAXParser().getXMLReader();
2、爲XMLReader設置內容處理器
reader.setContentHandler(newMyContentHandler());
3、開始解析文件
reader.parse(newInputSource(newStringReader(resultStr)));
resultStr爲讀取xml文件到一個String對象
4、在解析xml的類需要做的事:
1)繼承DefaultHandler類
publicclassMyContentHandlerextendsDefaultHandler
2)重載下列方法
startDocument()//開始解析XML時調用,僅僅調用一次
startElement()//解析tag時調用
characters()//解析tag中的屬性
endElement()//tag解析完成後調用
endDocument()//結束解析XML時調用,僅僅調用一次