检索XSD中可选元素的默认值

时间:2018-05-03 09:30:47

标签: c# xml xsd default optional

我有以下XML:

<Person>
   <Name>James</Name>
   <Age>18</Age>
</Person>

在验证此XML的XSD中,我想添加另一个元素。我希望此元素是可选的但具有默认值 - 因此,如果在验证XML时缺少该元素,则会使用默认值填充该元素。假设新元素是“NumberOfSiblings”,默认为0.我这样做了:

<xs:element name="Person">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="Name" type="xs:string"/>
            <xs:element name="Age" type="xs:integer" />
            <xs:element name="NumberOfSiblings" type="xs:integer" minOccurs="0" default="0" />
        </xs:sequence>
    </xs:complexType>
</xs:element>

现在让我们假设我在.Net / C#中解析上面的XML。有没有办法验证它,所以它会自动创建具有默认值的元素,因此解析器不会摔倒?如果没有,从XSD获取此默认值的正确方法是什么?

0 个答案:

没有答案