读书人

昨天一个XSD的有关问题没有人知道答

发布时间: 2012-01-06 22:55:18 作者: rapoo

昨天一个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属性是不是设置了?
------解决方案--------------------


http://book.csdn.net/bookfiles/16/100165641.shtml
[解决办法]
不懂也没办法
[解决办法]
来CSDN就像在摸奖,可能你运气好就中奖了,也可能什么都没有
所以,人一定要靠自己
[解决办法]
有没有声明 schema?

<xs:schema xmlns:xs= "http://www.w3.org/2001/XMLSchema " 声明默认命名空间来自w3
elementFormDefault= "qualified " 要求xml文档的每一个元素都要有命名空间指定
>

如果lz决定以后不来CSDN...恕不远送...
[解决办法]
好了,接的结贴
[解决办法]
顶~!
[解决办法]
不懂,只能帮顶了
&学习
[解决办法]
象个学习的样。恩

读书人网 >C#

热点推荐