XML验证框架在项目中的应用
2010-06-23 17:43
344 查看
接口中使用了XML参数, 如果用程序来验证XML会非常的复杂。如果用xml框架来验证,那就很简单了
1.可以通过.net2005程序来创建xml的框架,先中一个xml文件,在菜单栏里可以看到XML->生成框架。
2.验证
/// <summary>
/// 验证外部系统发送来的数据格式是否符合要求
/// </summary>
/// <param name="OperationsXml">被验证的xml串</param>
/// <param name="schemaXml">框架文件路径</param>
/// <param name="returnMsg">错误信息</param>
/// <returns>bool</returns>
public bool ValidateFile(string OperationsXml, string schemaXml, ref string returnMsg)
{
StringReader opStrReader = new StringReader(OperationsXml);
//StringReader schStrReader = new StringReader(schemaXml);
XmlReader opXmlReader = XmlReader.Create(opStrReader);
//XmlReader schXmlReader = XmlReader.Create(schStrReader);
XmlReader schXmlReader = XmlReader.Create(schemaXml);
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, schXmlReader);
settings.ValidationType = ValidationType.Schema;
settings.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(ValidationEventHandler);
sb = new StringBuilder();
XmlReader reader = XmlReader.Create(opXmlReader, settings);
try
{
while (reader.Read())
{
}
}
catch (XmlException ex)
{
sb.AppendFormat("{0}<br />", ex.Message);
}
finally
{
reader.Close();
}
returnMsg = sb.ToString();
return returnMsg.Length == 0;
}
/// <summary>
/// 格式验证回调了函数
/// </summary>
/// <param name="ValidationEventArgs"></param>
/// <returns>void</returns>
private void ValidationEventHandler(object sender, System.Xml.Schema.ValidationEventArgs e)
{
sb.AppendFormat("{0}<br />", e.Message);
}
1.可以通过.net2005程序来创建xml的框架,先中一个xml文件,在菜单栏里可以看到XML->生成框架。
2.验证
/// <summary>
/// 验证外部系统发送来的数据格式是否符合要求
/// </summary>
/// <param name="OperationsXml">被验证的xml串</param>
/// <param name="schemaXml">框架文件路径</param>
/// <param name="returnMsg">错误信息</param>
/// <returns>bool</returns>
public bool ValidateFile(string OperationsXml, string schemaXml, ref string returnMsg)
{
StringReader opStrReader = new StringReader(OperationsXml);
//StringReader schStrReader = new StringReader(schemaXml);
XmlReader opXmlReader = XmlReader.Create(opStrReader);
//XmlReader schXmlReader = XmlReader.Create(schStrReader);
XmlReader schXmlReader = XmlReader.Create(schemaXml);
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, schXmlReader);
settings.ValidationType = ValidationType.Schema;
settings.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(ValidationEventHandler);
sb = new StringBuilder();
XmlReader reader = XmlReader.Create(opXmlReader, settings);
try
{
while (reader.Read())
{
}
}
catch (XmlException ex)
{
sb.AppendFormat("{0}<br />", ex.Message);
}
finally
{
reader.Close();
}
returnMsg = sb.ToString();
return returnMsg.Length == 0;
}
/// <summary>
/// 格式验证回调了函数
/// </summary>
/// <param name="ValidationEventArgs"></param>
/// <returns>void</returns>
private void ValidationEventHandler(object sender, System.Xml.Schema.ValidationEventArgs e)
{
sb.AppendFormat("{0}<br />", e.Message);
}
相关文章推荐
- Struts2验证框架XML配置中国际化信息参数
- SSM框架项目搭建系列(六)—Spring AOP之基于XML的声明式AspectJ
- AngularJS实际项目应用——前端js框架以及库介绍
- struts2输入验证--验证框架(xml文件验证)
- 中国移动:物联网项目实战开发企业级应用(ssp框架应用、EXTJS4.2、GoogleMap、JPA)
- xml应用(2): 通过向xsl传递参数+数据岛方式,实现在客户端单个xml的分框架显示
- .Net单元测试(三) —— XML数据载体在项目中的应用
- ABP(现代ASP.NET样板开发框架)系列之17、ABP应用层——参数有效性验证
- 从Java EE 的项目中获取XML、JSON、HTML 文件显示在安卓应用中
- iOS快速开发框架Bee-Framework应用和解析 (四,完结)UI容器,UICell, UILayout(XML + CSS)
- Castor功能与应用参考-XML框架
- struts2验证框架——XML配置校验
- ThinkPHP框架项目开发专题--自动验证
- 个人负责的第一个地图应用项目框架截图
- Android QQ空间(Apad)项目总结(三)---应用UI框架的搭建!!!
- JSR-303验证框架在Springmvc中的应用
- Maven Web项目SpringMVC框架应用出现JSP不能访问的问题
- d3框架项目应用
- 【SSH 框架项目的搭建--简化版】使用注解代替xml中的<bean>,减少代码量
- Struts2 验证框架 validation.xml 常用的验证规则