C#使用xsd文件驗證XML格式是否正確的實現(xiàn)方法
本文實例講述了C#使用xsd文件驗證XML格式是否正確的實現(xiàn)方法。分享給大家供大家參考,具體如下:
//創(chuàng)建xmlDocument
XmlDocument doc = new XmlDocument();
//創(chuàng)建聲明段 如<?xml version="1.0" encoding="utf-8" ?>
doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null));
//創(chuàng)建一個根節(jié)點 KYTResults
XmlElement results = doc.CreateElement("KYTResults");
//創(chuàng)建 ResultsStatus
XmlNode resultsStatus = doc.CreateElement("ResultsStatus");
//創(chuàng)建Level
XmlElement element = doc.CreateElement("Level");
element.InnerText = status ? "0" : "1";
resultsStatus.AppendChild(element);
//創(chuàng)建Description
element = doc.CreateElement("Description");
element.InnerText = msg;
resultsStatus.AppendChild(element);
//創(chuàng)建PassKey 如果用戶登錄失敗 將加載空字符
element = doc.CreateElement("PassKey");
element.InnerText = key;
resultsStatus.AppendChild(element);
results.AppendChild(resultsStatus);
//END 創(chuàng)建 ResultsStatus
//創(chuàng)建 DataList 數(shù)據(jù)集合
if (status)
{
results.AppendChild(dataList);
}
//END 創(chuàng)建一個根節(jié)點 KYTResults
doc.AppendChild(results);
string path = Server.MapPath("/ws/xsd/ReceiveReturn.xsd");
//驗證xml格式是否正確 通過xsd驗證
string error = "";
//聲明XmlSchema
XmlSchemaSet schemas = new XmlSchemaSet();
schemas.Add("", XmlReader.Create(path));
//聲明事件處理方法
ValidationEventHandler eventHandler = new ValidationEventHandler(delegate(object sender, ValidationEventArgs e) {
switch (e.Severity)
{
case XmlSeverityType.Error:
error += e.Message;
break;
case XmlSeverityType.Warning:
break;
}
});
doc.Schemas = schemas;
//驗證xml
doc.Validate(eventHandler);
//檢查是否有異常 如果格式不正確就拋出來
if (!"".Equals(error))
{
throw new Exception(error);
}
PS:這里再為大家提供幾款比較實用的xml相關在線工具供大家使用:
在線XML格式化/壓縮工具:
http://tools.jb51.net/code/xmlformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關于C#相關內(nèi)容感興趣的讀者可查看本站專題:《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《C#程序設計之線程使用技巧總結》、《WinForm控件用法總結》、《C#數(shù)據(jù)結構與算法教程》、《C#數(shù)組操作技巧總結》及《C#面向?qū)ο蟪绦蛟O計入門教程》
希望本文所述對大家C#程序設計有所幫助。
- C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法
- C#中把任意類型的泛型集合轉(zhuǎn)換成SQLXML數(shù)據(jù)格式的實例
- C#實現(xiàn)導出List數(shù)據(jù)到xml文件的方法【附demo源碼下載】
- C#實現(xiàn)的xml操作類完整實例
- C#實現(xiàn)XML與實體類之間相互轉(zhuǎn)換的方法(序列化與反序列化)
- C# XML操作 代碼大全(讀XML,寫XML,更新,刪除節(jié)點,與dataset結合等)
- C#對XML文件的各種操作實現(xiàn)方法
- C# WinForm開發(fā)中使用XML配置文件實例
- C#對象與XMl文件之間的相互轉(zhuǎn)換
- C#中XmlTextWriter讀寫xml文件詳細介紹
- C# 寫入XML文檔三種方法詳細介紹
- C# 操作XML文檔 使用XmlDocument類方法
- C#實現(xiàn)XML文檔的增刪改查功能示例
相關文章
C#的path.GetFullPath 獲取上級目錄實現(xiàn)方法
這篇文章主要介紹了C#的path.GetFullPath 獲取上級目錄實現(xiàn)方法,包含了具體的C#實現(xiàn)方法以及ASP.net與ASP等的方法對比,非常具有實用價值,需要的朋友可以參考下2014-10-10

