Estoy intentando generar un esquema xs: de cualquier tipo .net programáticamente. Sé que podría usar el reflejo y generarlo iterando sobre las propiedades públicas, pero ¿hay un camino integrado?¿Cómo puedo generar programáticamente un esquema xml a partir de un tipo?
Ejemplo:
[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; }
}
salida deseada:
<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>
I duda de que hay una manera de hacer esto en el caso general. Además, '[Serializable]' no es utilizado por XML Serializer. –
@John no lo sabía, ¡gracias! –