目前,如果將資料儲存在xmldocument物件中,那麼惟一可以執行的驗證型別是載入期(load-time)驗證。可以通過將諸如xmlreader物件的驗證讀取器物件傳入load方法中來實現。但是,如果您做了任何修改,那就無法保證資料依然符合當初的模式了。通過使用xmlnodereader類讀取儲存在xmlnode物件中的資料,就可以將xmlnodereader傳入create方法來驗證dom物件了。程式清單5-5顯示了乙個如何完成這項工作的示例。
程式清單5-5 執行xml dom驗證
程式清單5-5演示了由xmldocument物件(從authors.xml文件載入)返回的xmlnodereader物件如何在讀取的時候將xml模式驗證支援放置在頂部。
在將xmldocument物件讀入xmlnodereader物件之前,authors.xml檔案被載入xmldocument中並通過新增名為「test」的屬性而對其進行修改。
xmldocument xmldoc = new xmldocument();
xmldoc.load(xmlpath);
xmlelement authorelement = (xmlelement)
xmldoc.documentelement.selectsinglenode
("//authors/author[au_id='172-32-1176']");
authorelement.setattribute("test", "test");
然後將xml文件傳入xmlnodereader,再將該物件傳入工廠化建立的(factory created)xmlreader物件。
reader = xmlreader.create(nodereader, settings);
當驗證讀取器分析檔案的時候,它會驗證檔案中的任何修改。因為xmldocument物件中新增了乙個無效的屬性,xsd模式將會失敗並且您將會看到與圖5-2類似的輸出。
圖 5-2
正如在圖5-2中所看到的,因為修改後的xml資料不符合xsd模式,所以xml驗證失敗。
XML輕鬆學習手冊(2)XML快速入門之三
五.xml和html的區別 xml和html都來自於sgml,它們都含有標記,有著相似的語法,html和 xml的最大區別在於 html是乙個定型的標記語言,它用固有的標記來描述,顯示網頁內容。比如 h1 表示首行標題,有固定的尺寸。相對的,xml則沒有固定的標記,xml不能描述網頁具體的外觀,內容...
使用schema校驗xml
一 背景 在大型的專案開發中,我們往往要是用xml進行一些規範化的處理。這時候就需要有高手先做好上層的一些規則。這時候往往就會用到schema對xml進行乙個規範化的校驗 二 實踐 我們以公司和員工為例來實踐一下。1 建立公司校驗schema companyschema.xsd 2 建立員工校驗sc...
XML 資料島之三資料修改與新增
在ie中修改xml資料島中的資料比想像中要容易的多了。首先需要把字段與具有編輯功能的html控制項繫結,這裡說的具有編輯功能的html控制項是輸入框 input type text 選擇框 select 勾選框 input type checkbox 單選框 input type radio 等。繫...