2 Stimmen

Aufzählungsdaten aus der XSD-Datei extrahieren

Ich versuche, enum aus einer XSD-Datei zu lesen. Das Schema ist wie folgt

 <xs:schema id="v1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="unqualified" elementFormDefault="qualified" msdata:IsDataSet="true">   
<xs:simpleType name="Type">
     <xs:restriction base="xs:string">
      <xs:enumeration value="Op1" />
      <xs:enumeration value="Op2" />
      <xs:enumeration value="Op3" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

Ich habe auch versucht, mit ce aber ich erhalte die Anzahl der Listenelemente als Null. Im Folgenden finden Sie den Code, den ich verwende

DataSet _sR = new DataSet();
 _sR.ReadXmlSchema(assembly.GetManifestResourceStream("v1.xsd"));
    XmlDocument xDoc = new XmlDocument();
             xDoc.LoadXml(_sR.GetXml());
             XmlNamespaceManager xMan = new XmlNamespaceManager(xDoc.NameTable);
             xMan.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");

             XmlNodeList xNodeList = xDoc.SelectNodes(
                            "//xs:schema/xs:simpleType[@name='Type']/xs:restriction/xs:enumeration", xMan);

             string[] enumVal = new string[xNodeList.Count];
             int ctr = 0;
             foreach (XmlNode xNode in xNodeList)
             {
                enumVal[ctr] = xNode.Attributes["value"].Value;
                ctr++;
             }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X