首页 > 解决方案 > 检索 XSD 中可选元素的默认值

问题描述

我有以下 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 获取此默认值的正确方法是什么?

标签: c#xmlxsddefaultoptional

解决方案


推荐阅读