- package ?com.xml.parseXml; ??
- ??
- import ?java.io.InputStream; ??
- import ?java.util.Stack; ??
- ??
- import ?javax.xml.parsers.SAXParser; ??
- import ?javax.xml.parsers.SAXParserFactory; ??
- ??
- import ?org.xml.sax.Attributes; ??
- import ?org.xml.sax.InputSource; ??
- import ?org.xml.sax.SAXException; ??
- import ?org.xml.sax.helpers.DefaultHandler; ??
- ??
- import ?com.xml.bean.Address; ??
- import ?com.xml.bean.ReadXmlFileStream; ??
- ??
- public ? class ?SAXParseXml? extends ?DefaultHandler?{ ??
- ??
- ??
- ???? private ? static ?Address?address?=? new ?Address(); ??
- ??
- ???? private ?Stack?tags?=? new ?Stack(); ??
- ??
- ???? public ?SAXParseXml()?{ ??
- ??
- ????} ??
- ??
- ???? @Override ??
- ???? public ? void ?characters( char []?ch,? int ?start,? int ?length) ??
- ???????????? throws ?SAXException?{ ??
- ??
- ????????String?tag?=?(String)?tags.peek(); ??
- ???????? if ?(tag.equals( "no" ))?{ ??
- ????????????address.setNo( new ?String(ch,?start,?length)); ??
- ????????????System.out.println(address.getNo()); ??
- ????????} ??
- ???????? if ?(tag.equals( "addr" ))?{ ??
- ????????????address.setAddr( new ?String(ch,?start,?length)); ??
- ????????????System.out.println(address.getAddr()); ??
- ????????} ??
- ????} ??
- ??
- ???? @Override ??
- ???? public ? void ?startElement(String?uri,?String?localName,?String?qName, ??
- ????????????Attributes?attrs)? throws ?SAXException?{ ??
- ????????tags.push(qName); ??
- ????} ??
- ??
- ???? public ? static ? void ?main(String[]?args)?{ ??
- ??
- ???????? long ?lasting?=?System.currentTimeMillis(); ??
- ??
- ???????? try ?{ ??
- ????????????SAXParserFactory?factory?=?SAXParserFactory.newInstance(); ??
- ????????????SAXParser?sp?=?factory.newSAXParser(); ??
- ????????????SAXParseXml?reader?=? new ?SAXParseXml(); ??
- ????????????InputStream?in?=?ReadXmlFileStream.getXmlFileStream(); ??
- ????????????sp.parse( new ?InputSource(in),?reader); ??
- ????????????System.out.println( "運行時間:" ?+?(System.currentTimeMillis()?-?lasting) ??
- ????????????????????+? "?毫秒" ); ??
- ??
- ????????}? catch ?(Exception?e)?{ ??
- ????????????e.printStackTrace(); ??
- ????????} ??
- ????} ??
- ??
- }??
- package ?com.xml.parseXml; ??
- ??
- import ?java.io.InputStream; ??
- import ?java.util.Stack; ??
- ??
- import ?javax.xml.parsers.SAXParser; ??
- import ?javax.xml.parsers.SAXParserFactory; ??
- ??
- import ?org.xml.sax.Attributes; ??
- import ?org.xml.sax.InputSource; ??
- import ?org.xml.sax.SAXException; ??
- import ?org.xml.sax.helpers.DefaultHandler; ??
- ??
- import ?com.xml.bean.Address; ??
- import ?com.xml.bean.ReadXmlFileStream; ??
- ??
- public ? class ?SAXParseXml? extends ?DefaultHandler?{ ??
- ??
- ??
- ???? private ? static ?Address?address?=? new ?Address(); ??
- ??
- ???? private ?Stack?tags?=? new ?Stack(); ??
- ??
- ???? public ?SAXParseXml()?{ ??
- ??
- ????} ??
- ??
- ???? @Override ??
- ???? public ? void ?characters( char []?ch,? int ?start,? int ?length) ??
- ???????????? throws ?SAXException?{ ??
- ??
- ????????String?tag?=?(String)?tags.peek(); ??
- ???????? if ?(tag.equals( "no" ))?{ ??
- ????????????address.setNo( new ?String(ch,?start,?length)); ??
- ????????????System.out.println(address.getNo()); ??
- ????????} ??
- ???????? if ?(tag.equals( "addr" ))?{ ??
- ????????????address.setAddr( new ?String(ch,?start,?length)); ??
- ????????????System.out.println(address.getAddr()); ??
- ????????} ??
- ????} ??
- ??
- ???? @Override ??
- ???? public ? void ?startElement(String?uri,?String?localName,?String?qName, ??
- ????????????Attributes?attrs)? throws ?SAXException?{ ??
- ????????tags.push(qName); ??
- ????} ??
- ??
- ???? public ? static ? void ?main(String[]?args)?{ ??
- ??
- ???????? long ?lasting?=?System.currentTimeMillis(); ??
- ??
- ???????? try ?{ ??
- ????????????SAXParserFactory?factory?=?SAXParserFactory.newInstance(); ??
- ????????????SAXParser?sp?=?factory.newSAXParser(); ??
- ????????????SAXParseXml?reader?=? new ?SAXParseXml(); ??
- ????????????InputStream?in?=?ReadXmlFileStream.getXmlFileStream(); ??
- ????????????sp.parse( new ?InputSource(in),?reader); ??
- ????????????System.out.println( "運行時間:" ?+?(System.currentTimeMillis()?-?lasting) ??
- ????????????????????+? "?毫秒" ); ??
- ??
- ????????}? catch ?(Exception?e)?{ ??
- ????????????e.printStackTrace(); ??
- ????????} ??
- ????} ??
- ??
- }??
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
