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