मैं एक xs उत्पन्न करने की कोशिश कर रहा हूं: किसी भी .net से स्कीमा प्रोग्रामेटिक रूप से टाइप करें। मुझे पता है कि मैं प्रतिबिंब का उपयोग कर सकता हूं और इसे सार्वजनिक गुणों पर पुन: उत्पन्न करके उत्पन्न कर सकता हूं, लेकिन क्या वहां कोई अंतर्निहित है?मैं प्रोग्राम प्रकार से एक प्रकार से एक्सएमएल स्कीमा कैसे उत्पन्न करूं?
उदाहरण:
[Serializable]
public class Person
{
[XmlElement(IsNullable = false)] public string FirstName { get; set; }
[XmlElement(IsNullable = false)] public string LastName { get; set; }
[XmlElement(IsNullable = true)] public string PhoneNo { get; set; }
}
वांछित आउटपुट:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Person" type="Person" />
<xs:complexType name="Person">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="FirstName" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="LastName" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="PhoneNo" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
मैं:
कोड से निकाला संदेह है कि सामान्य मामले में ऐसा करने का एक तरीका है। इसके अलावा, एक्सएमएल सीरिएलाइज़र द्वारा '[Serializable]' का उपयोग नहीं किया जाता है। –
@ जॉन को यह नहीं पता था, धन्यवाद! –