这篇文章主要介绍了c#使用xsd文件验证xml格式是否正确的实现方法,结合实例形式分析了c#针对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#使用xsd文件验证xml格式是否正确的实现方法的详细内容。