验证你的XML文档是否符合所引XSD中的节点结构和类型

解决方案 »

  1.   

    我在VS IDE 下对应某XML文档进行编辑,点“创建构架”,我想生成一个对应的而且“稍微错误”XSD文档都被禁止,何来XSD错误?初学,问题幼稚。
      

  2.   

    我如果胡乱删除XSD中的部分内容,试图制造错误。可我只能捕捉到XmlValidatingReader 异常,而不是我想要的valireader.ValidationEventHandler +=                                 new ValidationEventHandler(ValidationCallBack);
      

  3.   

    XmlValidatingReader 对XSD进行验证 
    noXmlValidatingReader 的作用是用XSD来对XML进行验证
    /// <summary>
    /// 验证xmlString是否符合指定的XmlSchema文件
    /// </summary>
    /// <param name="xmlString"></param>
    /// <param name="schemaFile"></param>
    /// <returns>验证成功返回由xmlString生成的XmlDocument</returns>
    public XmlDocument Validate(string xmlString,string schemaFile)
    {
    if (xmlString==null || xmlString.Length==0 || schemaFile==null || schemaFile.Length==0)
    {
    throw new System.ArgumentException("参数不合法");
    }
    XmlDocument doc=null;
    XmlTextReader tr=null;
    XmlValidatingReader vr=null;
    try
    {
    doc=new XmlDocument();
    tr=new XmlTextReader(xmlString,XmlNodeType.Document,null);
    vr = new XmlValidatingReader(tr);
    vr.ValidationType = ValidationType.Schema;
    vr.Schemas.Add(null,schemaFile);
    doc.Load(vr);
    return doc;

    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    if (vr!=null)
    vr.Close();
    if (tr!=null)
    tr.Close();
    }
    }
      

  4.   

    validate your XML whether match the structure and type of the XSD