Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont C# utilise les fichiers XSD pour vérifier si le format XML est correct

Explication détaillée de la façon dont C# utilise les fichiers XSD pour vérifier si le format XML est correct

黄舟
黄舟original
2017-03-29 11:34:291757parcourir

Cet article présente principalement la méthode d'implémentation de C# à l'aide de fichiers XSD pour vérifier si le format de XML est correct, et analyse les compétences opérationnelles associées de C# pour la création et la vérification de fichiers XML en combinaison avec des exemples. , Les amis dans le besoin peuvent se référer à

L'exemple dans cet article décrit la méthode d'implémentation de C# utilisant le fichier XSD pour vérifier si le format XML est correct. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

//创建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);
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn