Как проверить XML с помощью XSD, когда часть правил проверки находится в WSDL

Я использую 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 в ссылке.cs нравится:

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");
        }
    }
}

Я сериализую объект xRequest в XML, и я хочу его проверить. Как я могу проверить XML с помощью XSD, когда часть правил проверки находится в Язык WSDL?

1 ответов


Это не так прямо, как должно быть... Посмотри на это!--1-->статьи (Шаг 4, 5 и 11), я думаю, что это по существу то, что вы хотите сделать (на стороне клиента), но он также показывает, как сделать сторону сервера проверки.