C# 使用xsd文件驗證XML 格式是否正確,
C# 使用xsd文件驗證XML 格式是否正確
核心示例代碼:
C#代碼
- //創建xmlDocument
- XmlDocument doc = new XmlDocument();
-
- //創建聲明段 如<?xml version="1.0" encoding="utf-8" ?>
- doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null));
- //創建一個根節點 KYTResults
- XmlElement results = doc.CreateElement("KYTResults");
-
- //創建 ResultsStatus
- XmlNode resultsStatus = doc.CreateElement("ResultsStatus");
- //創建Level
- XmlElement element = doc.CreateElement("Level");
- element.InnerText = status ? "0" : "1";
- resultsStatus.AppendChild(element);
- //創建Description
- element = doc.CreateElement("Description");
- element.InnerText = msg;
- resultsStatus.AppendChild(element);
- //創建PassKey 如果用戶登錄失敗 將加載空字符
- element = doc.CreateElement("PassKey");
- element.InnerText = key;
- resultsStatus.AppendChild(element);
- results.AppendChild(resultsStatus);
- //END 創建 ResultsStatus
-
- //創建 DataList 數據集合
- if (status)
- {
- results.AppendChild(dataList);
- }
- //END 創建一個根節點 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);
- }
C語言裡面,這個符號(->)是什,怎使用?
這是結構體指針中的一個符號,給你寫個程序解釋一下吧,例如:
#include<stdio.h>
struct STU //定義一個結構體
{
int num;
}stu;
int main()
{
struct STU *p; //定義一個結構體指針
p=stu; //p指向stu這個結構體變量
stu.num=100; //給結構體成員num附個初值
printf("%d",p->num); //輸出stu中的num的值
return;
}
看到了吧,->的作法就是在引用結構體中的變量!!
形式如:p->結構體成員(如p->num)
他的作用相當於stu.num或(*p).num
不知道這樣解釋你明不明白、、、、、不懂了call我,O(∩_∩)O~
望采納。
C語言裡面,這個符號(->)是什,怎使用?
這是結構體指針中的一個符號,給你寫個程序解釋一下吧,例如:
#include<stdio.h>
struct STU //定義一個結構體
{
int num;
}stu;
int main()
{
struct STU *p; //定義一個結構體指針
p=stu; //p指向stu這個結構體變量
stu.num=100; //給結構體成員num附個初值
printf("%d",p->num); //輸出stu中的num的值
return;
}
看到了吧,->的作法就是在引用結構體中的變量!!
形式如:p->結構體成員(如p->num)
他的作用相當於stu.num或(*p).num
不知道這樣解釋你明不明白、、、、、不懂了call我,O(∩_∩)O~
望采納。