我想解析一個自定義XSD來構建定義了自定義屬性的元素列表。我從下面的XSD粘貼了一個示例節點。在我的情況下,我試圖建立一個已被標記爲靜態的所有元素(簡單和複雜類型)的列表。樣本 -解析Cs中屬性的Xsd
<xs:element name="ATestEnum">
<xs:annotation>
<xs:appinfo>
<ConfigurationMemberMetadata>
<Static>False</Static>
</ConfigurationMemberMetadata>
</xs:appinfo>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Sample1" />
<xs:enumeration value="Sample2" />
</xs:restriction>
</xs:simpleType>
</xs:element>
我不能想出一個辦法來查詢「內部」的元素爲我所需要的性能。據我已經得到了,因爲這 -
var doc = XDocument.Load(schemaFileName);
foreach (var element in doc.Descendants(xs + "element"))
{
Console.WriteLine(element.Attribute("name").Value);
}
這使我在XSD的所有元素的列表,而不是特定的屬性(ConfigurationMemberMetadata),我需要檢查。我看到element.Annotation(type)方法,但是如何將它轉換爲提取我正在查找的字段?
我也嘗試過使用XmlTextReader並讀取模式,編譯模式集並遍歷元素,但這也沒有幫助。
有人能指出我正確的方向嗎?我很新的XML解析,並會非常感謝您的幫助!謝謝。