i使用c#,.net 4.5,控制台应用程序。我在服务参考中添加了WSDL文件。WSDL内部是验证规则:
<xs:complexType name="xRequest">
<xs:sequence>
<xs:element name="SenderDateTime" type="ip:grDateTime"/>
<xs:element name="SenderId" type="ip:grIdentifier"/>
</xs:sequence>
</xs:complexType>
也有XSD文件,其中包含验证规则的详细信息:
<xs:simpleType name="grDateTime">
<xs:restriction base="xs:dateTime">
<xs:pattern value="[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}[T][0-9]{2,2}:[0-9]{2,2}:[0-9]{2,2}(.[0-9]{1,6}){0,1}"/>
</xs:restriction>
</xs:simpleType>
,我已经从wsdl中自动生成了wsdl。
public partial class xRequest
{
private string senderIdField;
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
public string SenderId {
get {
return this.senderIdField;
}
set {
this.senderIdField = value;
this.RaisePropertyChanged("SenderId");
}
}
}
i将Xrequest对象序列化为XML,我想对其进行验证。当验证规则的一部分在WSDL中时,如何使用XSD验证XML?
它不如应该...看这篇文章(步骤4、5和11(,我认为这本质上是您想做的(客户端(但这也显示了如何执行验证服务器端。