- 相關(guān)推薦
Web服務(wù)中的異常處理
既然我們已經(jīng)了解了AddCategories方法,現(xiàn)在就讓我們來(lái)看看AddCategories方法所用到的助手方法。首先,我們看看ValidateXml方法。像前面所提到的那樣,該方法負(fù)責(zé)確保被添加的CategoriesXML數(shù)據(jù)遵從Categories.xsd中所預(yù)先定義好的XML模式。
privateboolValidateXml(stringxml)
boolvalidXml=false;
//LoadtheXMLdataintomemory
XmlValidatingReadervalReader=new
XmlValidatingReader(xml,XmlNodeType.Document,null);
valReader.Schemas.Add(null,Server.MapPath("Categories.xsd"));
valReader.ValidationType=ValidationType.Schema;
valReader.ValidationEventHandler+=new
ValidationEventHandler(ValidationHandler);
//LoopthroughtheXMLfile
while(valReader.Read())
if(builder.Length>0)
validXml=false;
else
validXml=true;
valReader.Close();
returnvalidXml;
以上代碼首先把被添加的XML數(shù)據(jù)傳遞給構(gòu)造函數(shù),創(chuàng)建一個(gè)XmlValidatingReader類實(shí)例。然后,把Categories.xsd添加到XmlValidatingReader對(duì)象的Schemas集合中。接著,設(shè)置ValidationType為ValidationType.Schema,表明我們是在根據(jù)XML模式來(lái)驗(yàn)證XML數(shù)據(jù)。當(dāng)你在使用XmlValidatingReader類驗(yàn)證XML數(shù)據(jù)時(shí),你必須創(chuàng)建一個(gè)事件處理對(duì)象,并把它與ValidationEventHandler事件相關(guān)聯(lián)。一旦做完這些后,校驗(yàn)錯(cuò)誤和警告就通過(guò)這個(gè)回調(diào)事件處理對(duì)象被報(bào)告出來(lái)。ValidationEventHandler具有一個(gè)ValidationEventArgs類型的參數(shù)。ValidationEventArgs類提供兩個(gè)重要屬性,Message和Serverity。這兩個(gè)屬性提供更多的有關(guān)于校驗(yàn)錯(cuò)誤的信息。
在這種情況下,我們把ValidationEventHandler事件與ValidationHandler方法相關(guān)聯(lián)。在這個(gè)方法中,我們附加錯(cuò)誤信息到StringBuilder對(duì)象中,而該StringBuilder對(duì)象定義在模塊中。如果沒(méi)有任何校驗(yàn)錯(cuò)誤,那么StringBuilder對(duì)象的Length屬性將返回0。我們就是使用這個(gè)來(lái)檢查XML模式校驗(yàn)是否失敗。
【W(wǎng)eb服務(wù)中的異常處理】相關(guān)文章:
javascript編程異常處理的方法03-31
Word頁(yè)面顯示異常處理辦法04-02
J2EE項(xiàng)目中的異常處理01-22
java實(shí)現(xiàn)web服務(wù)器的方法03-30
關(guān)于J2EE系統(tǒng)異常的處理準(zhǔn)則01-22
Linux系統(tǒng)Web服務(wù)器性能測(cè)試01-23
Web Workers加速移動(dòng)Web應(yīng)用03-30
有關(guān)web服務(wù)器硬件配置的進(jìn)階知識(shí)03-06
Photoshop中處理人物面部的技巧01-22