六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

在.NET Framework中簡單處理XML數據(3-1)

[摘要]  帶驗證的閱讀器   XmlValidatingReader類實現了XmlReader類,它提供了支持多種類型的XML驗證:DTD,XML-Data Reduced(XDR)架構,以及XSD,DTD和XSD都是W3C官方推薦的。而XDR是Microsoft早期用于處理XML構架的一種格式。   ...
  帶驗證的閱讀器

  XmlValidatingReader類實現了XmlReader類,它提供了支持多種類型的XML驗證:DTD,XML-Data Reduced(XDR)架構,以及XSD,DTD和XSD都是W3C官方推薦的。而XDR是Microsoft早期用于處理XML構架的一種格式。

  你可以用XmlVlidatingReader類去驗證XML文檔和XML片斷。XmlValidatingReader類工作在XML閱讀器上面---是一個典型的XMLTextReader類實例。XMLTextReade用于讀取文檔的節點,但是XmlVlidatingReader依據需要的驗證類型去驗證每一個XML塊。

  XmlVlidatingReader類只實現了非常小的XML閱讀器必備的一個功能子集。該類總是工作在一個已存在的XML閱讀器上面,它監視方法和屬性。如果你深入該類的構造函數,你會發現它很明顯的依靠一個已存在的文本閱讀器。帶驗證的XML閱讀器不能直接的從一個文件或一個URL序列化。該類的構造函數列表如下:

public XmlValidatingReader(XmlReader);

public XmlValidatingReader(Stream, XmlNodeType, XmlParserContext);

public XmlValidatingReader(string, XmlNodeType, XmlParserContext);

  帶驗證的XML閱讀器能分析任何的XML片斷,XML片斷通過一個string或者一個stream提供,也可以分析任何閱讀器提供的XML文檔。

  XmlVlidatingReader類中有重大改變的方法非常少(相對其它reader類來說),另外對 Read,它有Skip和ReadTypedValue方法。Skip方法跳過當前節點所有的子節點(你不能跳過不良格式的XML文本,它是相當有用的算法),Skip方法也驗證被跳過的內容。ReadTypedValue方法返回指定 XML 架構 (XSD) 類型對應的CLR類型。如果該方法找到了XSD類型對應的CLR類型,則返回CLR的類型名。如果找不到,則把該節點的值作為一個字符串值返回。

  帶驗證的XML閱讀器正如其名,它是一個基于節點的閱讀器,它驗證當前節點的結構是否符合當前的schema。驗證是增量式的;它沒有方法返回表示文檔是否有效的布爾值。通常你都是用Read方法去讀輸入的XML文檔。實際上,你也可以用帶驗證的閱讀器去讀XML文檔。在每一步中,當前被訪問的節點的結構是否與指定的schema符合,如果不符合,拋出一個異常。圖四是一個控制臺應用程序,它有一個要輸入文件名的命令行,最后輸出驗證結果。

Figure 4 Console App

using System;

using System.Xml;

using System.Xml.Schema;



class MyXmlValidApp

{

public MyXmlValidApp(String fileName)

{

try {

Validate(fileName);

}

catch (Exception e) {

Console.WriteLine("Error:\t{0}", e.Message);

Console.WriteLine("Exception raised: {0}",

e.GetType().ToString());

}

}



private void Validate(String fileName)

{

XmlTextReader xtr = new XmlTextReader(fileName);

XmlValidatingReader vreader = new XmlValidatingReader(xtr);

vreader.ValidationType = ValidationType.Auto;

vreader.ValidationEventHandler += new

ValidationEventHandler(this.ValidationEventHandle);



vreader.Read();

vreader.MoveToContent();



while (vreader.Read()) {}



xtr.Close();

vreader.Close();

}



public void ValidationEventHandle(Object sender,

ValidationEventArgs args)

{

Console.Write("Validation error: " + args.Message + "\r\n");

}



public static void Main(String[] args)

{

MyXmlValidApp o = new MyXmlValidApp(args[0]);

return;

}

}



主站蜘蛛池模板: 啪啪精品| 人人看人人搞 | 欧美亚洲欧美日韩中文二区 | 色吊丝最新永久免费观看网站 | 五月婷婷婷 | 日韩 欧美 亚洲 | 亚洲一区二区三区四区在线 | 亚洲成在人线久久综合 | 欧美系列在线观看 | 日本xxx在线观看免费播放 | 日韩毛片大全免费高清 | 一级做a爰片性色毛片刺激 一级做a爰片欧美一区 | 日日干日日 | 青久久| 又粗又大又爽免费视频 | 青青青国产精品手机在线观看 | 狍和美女一级aa毛片 | 亚洲欧洲精品在线 | 日韩欧美亚洲国产精品字幕久久久 | 爽爽影院在线 | 五月婷在线视频 | 亚洲小视频在线播放 | 亚洲 欧美 国产另类首页 | 影音先锋亚洲资源 | 日韩伦理网站 | 中文字幕午夜乱理片 | 色综合欧美色综合七久久 | 日本免费网 | 性感制服 | 中文字幕在线观看不卡视频 | 亚洲a图| 天天看天天做 | 日韩精品一区二区三区中文 | 青草久久网 | 在线观看国产日本 | 伊人免费在线观看高清版 | 日韩免费毛片全部不收费 | 天天艹天天操 | 亚洲综合自拍 | 雪白丰满丝袜长腿白嫩在线 | 日本免费观看网站 |