好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#使用xsd文件验证XML格式是否正确的实现方法

本文实例讲述了C#使用xsd文件验证XML格式是否正确的实现方法。分享给大家供大家参考,具体如下:

?

//创建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#程序设计有所帮助。

dy("nrwz");

查看更多关于C#使用xsd文件验证XML格式是否正确的实现方法的详细内容...

  阅读:48次