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 如果用戶(hù)登錄失敗 將加載空字符 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)在線(xiàn)工具供大家使用:
在線(xiàn)XML格式化/壓縮工具:
http://tools.jb51.net/code/xmlformat
在線(xiàn)XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
XML在線(xiàn)壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線(xiàn)格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《C#中XML文件操作技巧匯總》、《C#常見(jiàn)控件用法教程》、《C#程序設(shè)計(jì)之線(xiàn)程使用技巧總結(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)文章
C#的path.GetFullPath 獲取上級(jí)目錄實(shí)現(xiàn)方法
這篇文章主要介紹了C#的path.GetFullPath 獲取上級(jí)目錄實(shí)現(xiàn)方法,包含了具體的C#實(shí)現(xiàn)方法以及ASP.net與ASP等的方法對(duì)比,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10C#使用Dynamic實(shí)現(xiàn)簡(jiǎn)化反射
這篇文章主要為大家詳細(xì)介紹了C#如何使用Dynamic來(lái)實(shí)現(xiàn)簡(jiǎn)化反射,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-07-07C#?OpenCV實(shí)現(xiàn)形狀匹配的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C#+OpenCV實(shí)現(xiàn)形狀匹配的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-09-09