Wie analysieren Sie ein XSD, um die Informationen von <xsd:simpleType> - Elemente, die mithilfe von C#?

Ich habe eine XSD mit mehreren komplexen Typen, und einfachen Typen (Teil der Datei siehe unten). Ich muss analysieren, dieses Dokument zu bekommen maxLength aus jedem der simpletypes, auf die verwiesen wird in die komplexen Typen. Kann jemand bitte werfen Sie einige Ratschläge, wie Sie diese umsetzen? Ich brauche, um dies zu implementieren, die in einer generischen Art und Weise so, wenn ich die Abfrage auf "Setup_Type" sollte es geben, die unten ausgegeben. Danke!

NewSetup/Menge = 12 (Die name-Attribute von element-tags, getrennt durch ein "/" und maxLength der geschachtelten simpleType)

NewSetup/Name = 50

<xsd:complexType name="Setup_Type">
  <xsd:sequence>
    <xsd:element name="NewSetup" type="NewSetup_Type" minOccurs="1" maxOccurs="1" />
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="NewSetup_Type">
  <xsd:sequence>
    <xsd:element name="Amount" type="Amount_Type"  minOccurs="1" maxOccurs="1" />
    <xsd:element name="Name" type="Name_Type"  minOccurs="1" maxOccurs="1" />
  </xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="Amount_Type">
  <xsd:annotation>
    <xsd:documentation>Amount</xsd:documentation>
  </xsd:annotation>
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="12" />
  </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="Name_Type">
  <xsd:annotation>
    <xsd:documentation>Name</xsd:documentation>
  </xsd:annotation>
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="50" />
  </xsd:restriction>
</xsd:simpleType>
  • Danke an alle für die tollen Lösungen. Es war sehr hilfreich, sich an den code. So weit, ich habe versucht @psubsee2003 die Lösung und es funktioniert Super für mich.
InformationsquelleAutor Jyina | 2012-07-19
Schreibe einen Kommentar