我試圖以編程方式從任何.net類型生成xs:schema。我知道我可以使用反射並通過遍歷公共屬性來生成它,但是是否有內置方式?如何以編程方式從類型生成xml模式?
實施例:
[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>
我:
代碼摘自懷疑在一般情況下有辦法做到這一點。此外,XML序列化程序不使用'[Serializable]'。 – 2010-09-09 20:38:56
@John不知道,謝謝! – 2010-09-09 21:04:57