为类结构创建XSD

为类结构创建XSD,xsd,Xsd,我想用XSD描述这个类结构,但我找不到任何解决方案: public class A { string property { get; } B[] property2 { get; }//occurs 0 to unbound } public class B { string property { get; } } 如果您使用的是C#请查看以下问题/答案: 但是序列化到XSD时的问题是DataMember属性对XSD有严重的限制(请参阅) 因此,您可以通过序列化生成XSD并执行一些

我想用XSD描述这个类结构,但我找不到任何解决方案:

public class A {
 string property { get; }
 B[] property2 { get; }//occurs 0 to unbound
}


public class B {
 string property { get; }
}
如果您使用的是C#请查看以下问题/答案:

但是序列化到XSD时的问题是
DataMember
属性对XSD有严重的限制(请参阅)

因此,您可以通过序列化生成XSD并执行一些自定义修改,主要是针对数据约束(长度、范围、最小/最大…)


[Edit]或者,如果您想自己做这件事,请看一下这个

我认为,下面的XML模式将帮助您解决问题

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/Class" xmlns:tns="http://www.example.org/Class" elementFormDefault="qualified">


<element name="A" type="tns:A"></element>

<simpleType name="property">
    <restriction base="string"></restriction>
</simpleType>

<complexType name="B">
    <sequence>
        <element name="property" type="tns:property"></element>
    </sequence>
</complexType>

<complexType name="A">
    <sequence>
        <element name="property" type="tns:property"></element>
        <element name="B" type="tns:B" maxOccurs="unbounded" minOccurs="0"></element>
    </sequence>
</complexType>