日期:2014-05-19  浏览次数:20753 次

昨天一个XSD的问题,没有人知道答案。今天最后100分,还是这个问题。如果仍然没有人知道,以后就不来CSDN了。
<tgyszl>
        <cEnterpriseCode> 4-00284-00284-00284-00284-00284-00284-0028 </cEnterpriseCode>
        <ID> 1792 </ID>
        <gys_syrq> 2007-04-29   00:00:00 </gys_syrq>
        <gys_mc> 台州市海康医药有限公司 </gys_mc>
        <gys_xkzhm> 浙AA1015160 </gys_xkzhm>
        <gys_xkzxq> 2009-12-08   00:00:00 </gys_xkzxq>
                          .......
</tgyszl>

XSD文件如下:
<xs:complexType>
<xs:sequence>
<xs:element   name= "cEnterpriseCode "   >
<xs:simpleType>
<xs:restriction   base= "xs:string ">
      <xs:minLength   value= "0 "/>
      <xs:maxLength   value= "10 "/>                                     </xs:restriction>
</xs:simpleType>
</xs:element>
                                              .......

大家注意没有cEnterpriseCode字段远远超过了10个长度。但我用如下的程序去检测。

private   void   Page_Load(object   sender,   System.EventArgs   e)
{
//   在此处放置用户代码以初始化页面

string   xmlPath   =   Server.MapPath( "ZTCClient.xml ");
string   xsdPath   =   Server.MapPath( "ZTCClient.xsd ");
XmlTextReader   reader   =   new   XmlTextReader(xmlPath);
XmlValidatingReader   vr   =   new   XmlValidatingReader(reader);
vr.ValidationEventHandler   +=   new   ValidationEventHandler(this.ValidateErrorDetail);
vr.ValidationType   =   ValidationType.Schema;
vr.Schemas.Add(null,xsdPath);
while   (reader.Read())  
{

}
reader.Close();
if   (builder.ToString()   ==   String.Empty)
Response.Write( "Validation   completed   successfully. ");
else
Response.Write( "Validation   Failed.   <br/> "   +   builder.ToString());
}

void   ValidateErrorDetail(object   sender,ValidationEventArgs   args)
{
builder.Append( "Validation   error:   "   +   args.Message   +   " <br/> ");                                
}

检测不到任何不合法的东西发生。怎么会这样?这样的XML文件应该是不满足XSD定义要求的啊。



------解决方案--------------------
路过,不懂,只能帮顶了
------解决方案--------------------
不懂
学习
------解决方案--------------------
帮顶
------解决方案--------------------
不懂,楼主涉及的技术层面超出俺的接触范围了。
请楼主在google上查找相关技术!
------解决方案--------------------
帮顶,也许你的东西放错了地方,你确定是这个区吗?
------解决方案--------------------
XML文件的xmlns属性是不是设置了?
------解决方案--------------------