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相關(guān)在線工具供大家使用:
在線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
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《C#程序設(shè)計之線程使用技巧總結(jié)》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》
希望本文所述對大家C#程序設(shè)計有所幫助。
- C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法
- C#中把任意類型的泛型集合轉(zhuǎn)換成SQLXML數(shù)據(jù)格式的實例
- C#實現(xiàn)導(dǎo)出List數(shù)據(jù)到xml文件的方法【附demo源碼下載】
- C#實現(xiàn)的xml操作類完整實例
- C#實現(xiàn)XML與實體類之間相互轉(zhuǎn)換的方法(序列化與反序列化)
- C# XML操作 代碼大全(讀XML,寫XML,更新,刪除節(jié)點,與dataset結(jié)合等)
- C#對XML文件的各種操作實現(xiàn)方法
- C# WinForm開發(fā)中使用XML配置文件實例
- C#對象與XMl文件之間的相互轉(zhuǎn)換
- C#中XmlTextWriter讀寫xml文件詳細介紹
- C# 寫入XML文檔三種方法詳細介紹
- C# 操作XML文檔 使用XmlDocument類方法
- C#實現(xiàn)XML文檔的增刪改查功能示例
相關(guān)文章
c#獲取字符串寬度的示例代碼(字節(jié)數(shù)方法)
本篇文章主要介紹了c#獲取字符串寬度的示例代碼(字節(jié)數(shù)方法)。需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
c# Bitmap轉(zhuǎn)bitmapImage高效方法
本文主要介紹了c# Bitmap轉(zhuǎn)bitmapImage高效方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11

