解析步驟:
1.建立乙個saxparse***ctory物件
saxparse***ctory factory=saxparse***ctory.newinstance();
2.獲得解析器
saxparser parser=factory.newsaxparser();
3.呼叫解析方法解析xml,這裡的第乙個引數可以傳遞檔案、流、字串、需要注意第二個引數(new defaulthander)
file file=new file("girls.xml");
parser.parse(file,new defaulthandler());
/**註解:--->這裡的defaulthandler表示
defaulthandler類是sax2事件處理程式的預設基類。它繼承了entityresolver、dtdhandler、
contenthandler和errorhandler這四個介面。包含這四個介面的所有方法,所以我們在編寫事件處理程式時,
可以不用直接實現這四個介面,而繼承該類,然後重寫我們需要的方法,所以在這之前我們先定義乙個用於實現解析
方法如下:*/
4.建立乙個myhandler類來繼承defaulthandler並重寫方法
//定乙個名為myhandler類用來繼承defaulthandler
(1)myhandler extends defaulthander
(2)重寫方法,快速記住方法(2個開始,2個結束,1乙個文字(charactor--裡面的內容))
(3)2個開始:startdocment(文件的開始)startelement(元素的開始) 2個結束:endelement(元素的結束)
enddocment(文件的結束,標誌著xml檔案的結束) 1個文字內容:charactor(文字內容)
5.建立乙個集合把所解析的內容新增到集合
//分析:目的我們只是需要把xml裡面的文字內容新增到我們的集合而不需要其他元素,所以我們需要進行判斷得到
//(接上)我們需要的內容(下面會賦乙個圖幫助理解)
6.接步驟三 輸出集合system.out.pritnln(list); 解析完成!
*老套路 封裝屬性 setter getter tostring
*@author sky°
*@date 2016-5-5
*@version 1.0
*/public
class
girl
public
void
setid(string id)
public string getname()
public
void
setname(string name)
public string getage()
public
void
setage(string age)
@override
public string tostring()
}
* 繼承default
* 乙個用來處理girls 裡面xml 資料的處理器
* 配合saxparser一起使用 目標:想要將girls
* 裡面的資料,存在乙個集合裡面以備後面使用
* * 獲取五種方法
* startdocment startelement
* characters enddocment endelement
* @author sky°
* @date
2016-5-5
* @version
1.0 */
public
class
myhandler
extends
defaulthandler
@override
public
void
startelement(string uri, string localname, string qname,
attributes attributes) throws saxexception
}@override
public
void
endelement(string uri, string localname, string qname)
throws saxexception
}@override
public
void
characters(char ch, int start, int length)
throws saxexception else
if ("age".equals(tag)) //這兩種情況,表示 當前語句執行在 girls 標籤內。
}// 外部設定和獲得值(getter setter)
public listgetgirls()
public
void
setgirls(listgirls)
public girl getgirl()
public
void
setgirl(girl girl)
}
* sax解析步驟
(因為這個是先解析好了 後面才加的id屬性 所以沒有對id這段進行解析 )
DNS 解析全過程
首先,瀏覽器檢查自身快取中是否有該網域名稱對應的 ip 位址,若有則解析結束。如果瀏覽器中沒有命中,就回去檢查作業系統快取中有沒有對應的已解析過的結果。在 windows 中的 c盤的 hosts 檔案。如果這次也沒有命中,就會取請求本地網域名稱伺服器 ldns 來解析。一般來說,百分之80的網域名...
詳解DNS網域名稱解析全過程
關於dns網域名稱解析大致過程如圖 頂級網域名稱介紹 1.瀏覽器先檢查自身快取中有沒有被解析過的這個網域名稱對應的ip位址,如果有,解析結束。同時網域名稱被快取的時間也可通過ttl屬性來設定。2.如果瀏覽器快取中沒有 專業點叫還沒命中 瀏覽器會檢查作業系統快取中有沒有對應的已解析過的結果。而作業系統...
DNS網域名稱解析全過程
1.應用發起基於網域名稱的請求後,linux先查詢本地dns cache。2.本地dns cache命中 cache中有該網域名稱的紀錄項 則返回目標ip位址,否則將網域名稱解析請求傳送給本地網域名稱解析伺服器 dns server 3.網域名稱伺服器 dns server 收到請求後,先查詢本地快...