C#使用xsd文件驗(yàn)證XML格式是否正確的實(shí)現(xiàn)方法
本文實(shí)例講述了C#使用xsd文件驗(yàn)證XML格式是否正確的實(shí)現(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)建一個(gè)根節(jié)點(diǎn) 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)建一個(gè)根節(jié)點(diǎn) KYTResults
doc.AppendChild(results);
string path = Server.MapPath("/ws/xsd/ReceiveReturn.xsd");
//驗(yàn)證xml格式是否正確 通過(guò)xsd驗(yàn)證
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;
//驗(yàn)證xml
doc.Validate(eventHandler);
//檢查是否有異常 如果格式不正確就拋出來(lái)
if (!"".Equals(error))
{
throw new Exception(error);
}
PS:這里再為大家提供幾款比較實(shí)用的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)容感興趣的讀者可查看本站專(zhuān)題:《C#中XML文件操作技巧匯總》、《C#常見(jiàn)控件用法教程》、《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
- C#中利用LINQ to XML與反射把任意類(lèi)型的泛型集合轉(zhuǎn)換成XML格式字符串的方法
- C#中把任意類(lèi)型的泛型集合轉(zhuǎn)換成SQLXML數(shù)據(jù)格式的實(shí)例
- C#實(shí)現(xiàn)導(dǎo)出List數(shù)據(jù)到xml文件的方法【附demo源碼下載】
- C#實(shí)現(xiàn)的xml操作類(lèi)完整實(shí)例
- C#實(shí)現(xiàn)XML與實(shí)體類(lèi)之間相互轉(zhuǎn)換的方法(序列化與反序列化)
- C# XML操作 代碼大全(讀XML,寫(xiě)XML,更新,刪除節(jié)點(diǎn),與dataset結(jié)合等)
- C#對(duì)XML文件的各種操作實(shí)現(xiàn)方法
- C# WinForm開(kāi)發(fā)中使用XML配置文件實(shí)例
- C#對(duì)象與XMl文件之間的相互轉(zhuǎn)換
- C#中XmlTextWriter讀寫(xiě)xml文件詳細(xì)介紹
- C# 寫(xiě)入XML文檔三種方法詳細(xì)介紹
- C# 操作XML文檔 使用XmlDocument類(lèi)方法
- C#實(shí)現(xiàn)XML文檔的增刪改查功能示例
相關(guān)文章
Unity實(shí)現(xiàn)手機(jī)搖一搖震動(dòng)
這篇文章主要為大家詳細(xì)介紹了untiy實(shí)現(xiàn)手機(jī)搖一搖震動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Unity實(shí)現(xiàn)物體運(yùn)動(dòng)軌跡的繪制
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)物體運(yùn)動(dòng)軌跡的繪制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
c#獲取字符串寬度的示例代碼(字節(jié)數(shù)方法)
本篇文章主要介紹了c#獲取字符串寬度的示例代碼(字節(jié)數(shù)方法)。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01
c# Bitmap轉(zhuǎn)bitmapImage高效方法
本文主要介紹了c# Bitmap轉(zhuǎn)bitmapImage高效方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11

