0
我正在使用以下代碼在asp.net4.0中驗證XML與XSD。在asp.net4.0中驗證XML與XSD的關係
static int ErrorsCount = 0;
public static void ValidationHandler(object sender, ValidationEventArgs args)
{
//ErrorMessage = ErrorMessage + args.Message + "\r\n";
ErrorsCount++;
}
public bool validate(String xml)
{
XmlTextReader tr = null;
XmlSchemaCollection xsc = null;
XmlValidatingReader vr = null;
string XSDLocation = string.Empty;
xsc = new XmlSchemaCollection();
XSDLocation = "D:\\PENN Universal Gateway\\Penn.Common.Shared\\Schema\\s2sPlayer.xsd");
tr = new XmlTextReader(XSDLocation);
xsc.Add(null, tr);
vr = new XmlValidatingReader(xml.ToString(), XmlNodeType.Document, null);
vr.Schemas.Add(xsc);
vr.ValidationType = ValidationType.Schema;
vr.ValidationEventHandler -= new ValidationEventHandler(ValidationHandler);
vr.ValidationEventHandler += new ValidationEventHandler(ValidationHandler);
while (vr.Read()) ;
vr.Close();
if (ErrorsCount > 0)
{
return false;
}
return true;
}
這個函數總是返回我假這就是無效有效的XML,XSD也。
PLZ建議是怎麼回事錯在這裏...
您正在使用古老的技術。不要使用'XmlTextReader'或'XmlValidatingReader'。請參閱顯示過時的[documentation](http://msdn.microsoft.com/zh-cn/library/system.xml.xmlvalidatingreader.aspx)。 –