C# 使用xsd檔案驗證XML 格式是否正確

來源:互聯網
上載者:User

標籤:des   style   http   java   color   使用   

C# 使用xsd檔案驗證XML 格式是否正確

 

 

核心範例程式碼:

C#代碼  
  1.  //建立xmlDocument  
  2.             XmlDocument doc = new XmlDocument();  
  3.   
  4. //建立聲明段 如<?xml version="1.0" encoding="utf-8" ?>   
  5.                 doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null));  
  6.                 //建立一個根節點 KYTResults  
  7.                 XmlElement results = doc.CreateElement("KYTResults");  
  8.   
  9.                 //建立 ResultsStatus  
  10.                 XmlNode resultsStatus = doc.CreateElement("ResultsStatus");  
  11.                 //建立Level  
  12.                 XmlElement element = doc.CreateElement("Level");  
  13.                 element.InnerText = status ? "0" : "1";  
  14.                 resultsStatus.AppendChild(element);  
  15.                 //建立Description  
  16.                 element = doc.CreateElement("Description");  
  17.                 element.InnerText = msg;  
  18.                 resultsStatus.AppendChild(element);  
  19.                 //建立PassKey 如果使用者登入失敗 將載入Null 字元  
  20.                 element = doc.CreateElement("PassKey");  
  21.                 element.InnerText = key;  
  22.                 resultsStatus.AppendChild(element);  
  23.                 results.AppendChild(resultsStatus);  
  24.                 //END 建立 ResultsStatus   
  25.   
  26.                 //建立 DataList  資料集合  
  27.                 if (status)  
  28.                 {  
  29.                     results.AppendChild(dataList);  
  30.                 }  
  31.                 //END 建立一個根節點 KYTResults  
  32.                 doc.AppendChild(results);  
  33.   
  34.   
  35.                 string path = Server.MapPath("/ws/xsd/ReceiveReturn.xsd");  
  36.   
  37. //驗證xml格式是否正確 通過xsd驗證  
  38.                     string error = "";  
  39.                     //聲明XmlSchema  
  40.                     XmlSchemaSet schemas = new XmlSchemaSet();  
  41.                     schemas.Add("", XmlReader.Create(path));  
  42.                     //聲明事件處理方法  
  43.                     ValidationEventHandler eventHandler = new ValidationEventHandler(delegate(object sender, ValidationEventArgs e) {  
  44.                         switch (e.Severity)  
  45.                         {  
  46.                             case XmlSeverityType.Error:  
  47.                                 error += e.Message;  
  48.                                 break;  
  49.                             case XmlSeverityType.Warning:  
  50.                                 break;  
  51.                         }  
  52.                     });  
  53.                     doc.Schemas = schemas;  
  54.                     //驗證xml  
  55.                     doc.Validate(eventHandler);  
  56.                     //檢查是否有異常 如果格式不正確就拋出來  
  57.                     if (!"".Equals(error))  
  58.                     {  
  59.                         throw new Exception(error);  
  60.                     }  
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.